Stellaris MCP
MCP(模型上下文协议)服务器,用于分析来自克劳德桌面或克劳德代码的Stellaris保存游戏。
作语法分析 .sav 文件(ZIP包含 gamestate 克劳塞维茨格式),并公开了11个分析工具。包括a /stellaris 熟练掌握补丁4.3(Cetus)的编译策略指南。
可用工具
| 工具 | 说明 |
|---|---|
get_empire_overview | 道德、公民、政府、额定功率、海军/星际基地能力、资源 |
get_research_status | 当前研究+进展、可用选项、已完成的技术 |
get_economy_breakdown | 按类别分列的收入/支出,每种资源的净余额 |
get_planets | 有地区、建筑、工作、改造、生产的殖民星球 |
get_planets available=true | 调查了具有特征的非殖民可居住行星 |
get_fleet_power | 有动力的舰队,舰级细节(设计、生命值、武器) |
get_leaders | 具有阶级、特质、理事会职位、任务的领导者 |
get_neighbors | 已知帝国:意见、信任、相对权力比较 |
get_traditions_ascension | 采用传统和提升津贴 |
get_espionage | 间谍网络:渗透、间谍头目、可用行动 |
get_notifications | 战争、联盟、玩家、游戏状态 |
所有工具均接受 country_id (默认0=玩家)。
钻孔工具(get_planets, get_fleet_power, get_leaders)接受ID以查看详细信息。
/stellaris 技能(克劳德代码)
Claude Code技能 .claude/skills/stellaris/ 通过将实时保存数据与编译的战略指南相结合,提供战略建议:
- 经济 --地区、专业化、贸易、指定、大型经济
- 军事 --舰队组成、舰船设计、作战时机、危机应对能力
- 研究 --技术优先事项、传统、提升津贴、养蜂
- 扩张 --殖民化标准,阻塞点,宽与高
- 外交 --联邦、附庸、领导人、议会、间谍
用途: /stellaris how should I optimize my economy?
安装
先决条件
- 转到1.22+
- 克劳德桌面或克劳德代码
构建
# Linux / macOS
go build -o bin/stellaris-mcp ./cmd/stellaris-mcp
# Windows (cross-compile from Linux/macOS)
GOOS=windows GOARCH=amd64 go build -o bin/stellaris-mcp.exe ./cmd/stellaris-mcp或者从以下网址下载预构建的二进制文件 发布.
用法
stellaris-mcp - 保存游戏目录 (必填):包含Stellaris保存的根文件夹。服务器递归地遍历所有子目录,并选择最近修改的子目录
.sav文件。 - 本地化目录 (必填):路径
englishStellaris安装中的本地化文件夹。提供真实的游戏名称(例如“能量积分”、“锻造资本”)。如果路径不存在或不包含本地化文件,服务器将退出并出错。
克劳德桌面
添加 claude_desktop_config.json:
视窗 (%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"stellaris": {
"command": "C:\\path\\to\\stellaris-mcp.exe",
"args": [
"C:\\Users\\YourName\\Documents\\Paradox Interactive\\Stellaris\\save games",
"C:\\Program Files (x86)\\Steam\\steamapps\\common\\Stellaris\\localisation\\english"
]
}
}
}macOS (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"stellaris": {
"command": "/path/to/stellaris-mcp",
"args": [
"/home/user/.local/share/Paradox Interactive/Stellaris/save games",
"/home/user/.steam/steam/steamapps/common/Stellaris/localisation/english"
]
}
}
}克劳德代码
claude mcp add --transport stdio stellaris \
-- /path/to/stellaris-mcp \
"/path/to/Stellaris/save games" \
"/path/to/Stellaris/localisation/english"这 /stellaris 在这个存储库中工作时,技能会自动可用。
示例输出
看 sample_outputs/examples.md 对于每个工具的真实输出示例,从带有英语本地化的游戏中期保存中生成。
测试
复制a gamestate 文件(从 .sav)进入 internal/clausewitz/testdata/:
cp ~/gamestate internal/clausewitz/testdata/gamestate要运行本地化测试,请创建 .env 项目根目录下的文件(请参见 .env.example):
cp .env.example .env
# Edit .env with your Stellaris localisation/english path然后运行:
go test ./...当缺少夹具或本地化文件时,需要这些文件的测试会优雅地跳过。
建筑
cmd/stellaris-mcp/ Entry point (stdio MCP server)
internal/
├── clausewitz/ Clausewitz format parser (lexer -> parser -> decoder)
│ Unmarshal(data, &struct) like encoding/json
├── gamestate/ Go structs mapping the Stellaris gamestate
│ Load from raw bytes, ZIP, or save directory
│ Localization service (YAML loc files -> l(key))
├── tools/ MCP tools (one file per tool)
│ common.go: shared helpers (loadLatestSave, getCountry, l, ll)
└── testutil/ .env file loader for tests
.claude/skills/stellaris/ /stellaris skill + strategy guides