苏联公共MCP
MCP服务器 工人与资源:苏维埃共和国.将实时游戏数据作为Claude Code和Claude Desktop的工具公开。
它做什么
在每次工具调用时读取实时游戏数据——无后台进程,无过时缓存。使用两个数据源:
header.bin--包含当前游戏日期和资金余额,每自动保存一次(游戏内每周更新一次)。被...使用get_realtime.stats.ini--包含经济价格、交易量、支出和人口数据的定期记录(每约5个游戏日一次快照)。被所有其他工具使用。
可用工具
| 工具 | 说明 |
|---|---|
get_stats | 完整快照:人口、经济、年/日 |
get_population | 公民人数和人口统计 |
get_economy | 所有资源价格均以卢布和美元计 |
get_citizen_status | 幸福指数(食物、水、医疗保健等),0-1分 |
get_history | 所有自动保存记录中任何指标的时间序列 |
get_trade | 自游戏开始以来的累计进出口总额 |
get_trade_period | 日期范围内的导入/导出数量(在所有定期记录中求和) |
list_buildings | 浏览按类型、生产或消耗的资源筛选的建筑定义 |
get_building_info | 特定建筑的完整I/O详细信息(工人、生产率、消耗率) |
get_spend_period | 日期范围内建筑、工厂、商店或车辆消耗的资源 |
get_production_chain | 所有产生资源的建筑,包括投入要求和效率排名 |
get_break_even | 单位产量的材料成本与进口价格——显示利润率和盈利能力 |
get_realtime | 当前日期和货币(卢布+美元)从 header.bin --比同期记录更新 |
list_saves | 所有可用的保存文件夹 |
set_active_save | 将特定的保存文件夹固定为活动保存 |
get_active_save | 显示哪个保存处于活动状态以及如何选择它 |
clear_active_save | 取下销钉,再次按照最新保存的内容进行操作 |
需求
- Python 3.10+
- 工人与资源:苏联共和国安装(Steam)
mcp[cli]==1.3.0
pip install -r requirements.txt设置
克劳德代码(~/.claude/settings.json)
{
"mcpServers": {
"soviet-republic": {
"command": "python",
"args": ["E:/SteamLibrary/steamapps/common/SovietRepublic/soviet_dashboard/main.py"]
}
}
}克劳德桌面(claude_desktop_config.json)
{
"mcpServers": {
"soviet-republic": {
"command": "C:\\Users\\\\AppData\\Local\\Programs\\Python\\Python313\\python.exe",
"args": ["E:\\SteamLibrary\\steamapps\\common\\SovietRepublic\\soviet_dashboard\\main.py"]
}
}
}编辑配置后重新启动Claude。服务器在需要时自动启动。
选择保存
默认情况下,服务器加载 最近修改过 保存——无论你上次在游戏中保存或自动保存了什么。无需配置。
要永久固定此本地签出的特定保存,请使用MCP工具 set_active_save, get_active_save,以及 clear_active_save.
要通过配置锁定特定的保存,请设置 SOVIET_SAVE 将环境变量添加到文件夹名称中 media_soviet/save/:
克劳德代码 (~/.claude/settings.json):
{
"mcpServers": {
"soviet-republic": {
"command": "python",
"args": ["E:/SteamLibrary/steamapps/common/SovietRepublic/soviet_dashboard/main.py"],
"env": {
"SOVIET_SAVE": "autosave2"
}
}
}
}克劳德桌面版 (claude_desktop_config.json):
{
"mcpServers": {
"soviet-republic": {
"command": "python.exe",
"args": ["E:\\SteamLibrary\\steamapps\\common\\SovietRepublic\\soviet_dashboard\\main.py"],
"env": {
"SOVIET_SAVE": "Meine Stadt"
}
}
}
}使用 list_saves 查看所有可用的保存文件夹。回应包括 "active_save" 显示当前加载的是哪一个。 使用 set_active_save 从克劳德的内部锁定一个保存, get_active_save 检查当前模式,以及 clear_active_save 返回到自动最新保存选择。
数据来源和字段含义
了解每个数据字段实际代表的内容可以避免常见的误解:
economy_rub / economy_usd --市场价格,而非生产数量
最重要的是要知道: economy_rub 和 economy_usd 返回的字段 get_stats 和 get_economy 是 单位进出口市场价格 (卢布或美元/吨、每兆瓦时、每立方米等)。它们并不代表你的共和国生产了多少资源。
"economy_rub": {
"steel": 763.18, ← 763 RUB per tonne (market price)
"chemicals": 1953.67, ← 1953 RUB per tonne (market price)
"nuclearfuel": 246327 ← 246,327 RUB per unit (market price)
}Resources_Produced --实际生产量(仅自然资源)
该游戏仅记录以下内容的生产数量 自然提取/生长的资源:
rawbauxite(Rohes铝土矿)plants(植物)food(埃森)gravel(选择)rawgravel布鲁什斯坦asphalt,concrete等等。
工厂加工的商品(钢铁、铝、化学品、电子产品等) 未作为生产数量进行跟踪 在 stats.ini.使用游戏内统计数据→ 这些的生产选项卡。
数据源摘要
| 你想要什么 | 工具 | 它会得到什么 |
|---|---|---|
| 当前日期和资金余额 | get_realtime | Live from header.bin |
| 生产量(自然) | get_spend_period section=factories | 工厂投入消耗作为代理 |
| 资源的市场价格 | get_economy / get_stats → 经济_卢布/美元 | 单位价格 |
| 进出口量 | get_trade_period | 每种资源交易的吨数(仅通过 get_trade 累计) |
| 人口与人口统计 | get_population | 公民人数 |
| 历史价格趋势 | get_history metric=steel | 价格随时间变化 |
用法
一旦连接,自然地问克劳德:
经济与贸易
*“我目前对食物供应的满意度如何?”* *“给我看看钢铁进口历史。”* *“今年我进口了多少,出口了多少?”* *“目前建筑材料的市场价格是多少?”*
生产计划
*“哪些建筑可以生产铝,哪种建筑效率最高?”* *“钢铁的完整生产链是什么?我需要什么原材料?”* *“用煤电厂发电还是进口发电更便宜?”* *“给我看看钢厂的盈亏平衡分析。”*
资源消耗
*“今年我的建筑工地使用了哪些资源?”* *“自比赛开始以来,我的车辆消耗了多少燃料?”* *“与今年相比,我的工厂去年消耗了多少?”*
建筑物查找
*“列出所有生产混凝土的建筑。”* *“煤炭加工厂的投入和产出率是多少?”*
项目结构
main.py # Entry point — asyncio.run(run_mcp())
mcp_server.py # 17 MCP tools, reads fresh from disk per call
parser.py # Parses stats.ini → StatRecord dataclasses
requirements.txt # mcp[cli]==1.3.0