Initial commit: Claude Co-Engineer
A Factorio 2.x mod plus MCP server that lets Claude answer questions about a running game over Lua UDP, without RCON, so it works in singleplayer. - Read-only tools: overview, problems, entities, production, power, trends, research, recipes, ratio calculator, belt tracer, screenshots, Lua queries - In-game highlights with clickable [gps] links - /ask chat command answered by a local helper running claude -p, with a per-player model setting and a systemd user service Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
13 files changed
+3578
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "claude-co-engineer",
|
||||
"version": "0.1.0",
|
||||
"title": "Claude Co-Engineer",
|
||||
"author": "faab",
|
||||
"factorio_version": "2.1",
|
||||
"description": "Answers read-only questions about your world over Lua UDP, so an MCP server can let Claude advise you. Launch Factorio with --enable-lua-udp <port>.",
|
||||
"dependencies": ["base"]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
[mod-setting-name]
|
||||
claude-co-engineer-allow-lua=Allow Lua queries
|
||||
claude-co-engineer-ask-port=Ask helper port
|
||||
claude-co-engineer-ask-model=/ask model
|
||||
|
||||
[mod-setting-description]
|
||||
claude-co-engineer-allow-lua=Lets the Co-Engineer run arbitrary Lua to answer questions the built-in queries can't. It is told to only read, but Lua can't be sandboxed to read-only; disable this if you want a hard guarantee that nothing changes.
|
||||
claude-co-engineer-ask-port=UDP port the claude-co-engineer-ask helper listens on. /ask sends your question there.
|
||||
claude-co-engineer-ask-model=Which Claude model answers your /ask questions. Faster models use less of your plan's usage; larger ones give more thorough answers.
|
||||
|
||||
[string-mod-setting]
|
||||
claude-co-engineer-ask-model-haiku=Haiku (fastest)
|
||||
claude-co-engineer-ask-model-sonnet=Sonnet (balanced)
|
||||
claude-co-engineer-ask-model-opus=Opus (most thorough)
|
||||
claude-co-engineer-ask-model-fable=Fable (largest)
|
||||
@@ -0,0 +1,27 @@
|
||||
data:extend({
|
||||
{
|
||||
type = "bool-setting",
|
||||
name = "claude-co-engineer-allow-lua",
|
||||
setting_type = "runtime-global",
|
||||
default_value = true,
|
||||
order = "a",
|
||||
},
|
||||
{
|
||||
type = "int-setting",
|
||||
name = "claude-co-engineer-ask-port",
|
||||
setting_type = "runtime-global",
|
||||
default_value = 34201,
|
||||
minimum_value = 1024,
|
||||
maximum_value = 65535,
|
||||
order = "b",
|
||||
},
|
||||
{
|
||||
-- Per player, so everyone in a multiplayer game can pick their own.
|
||||
type = "string-setting",
|
||||
name = "claude-co-engineer-ask-model",
|
||||
setting_type = "runtime-per-user",
|
||||
default_value = "sonnet",
|
||||
allowed_values = { "haiku", "sonnet", "opus", "fable" },
|
||||
order = "c",
|
||||
},
|
||||
})
|
||||
Reference in new issue
Block a user