@onimaxxing/sussy-seeds-mcp 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -58
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# @onimaxxing/sussy-seeds-mcp
|
|
2
2
|
|
|
3
|
-
MCP server for Oxygen Not Included seed hunting. Runs the sussy-seeds wasm scanner over stdio so an LLM can compose Builder AST specs and drive scans against
|
|
3
|
+
MCP server for Oxygen Not Included seed hunting. Runs the sussy-seeds wasm scanner over stdio so an LLM can compose Builder AST specs and drive scans against onimaxxing worldgen.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Companion to the browser scanner at [onimaxxing.com/sussy-seeds](https://onimaxxing.com/sussy-seeds/). Shared share-URL format round-trips between the MCP and the web app.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
9
9
|
### Claude Code
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
`.mcp.json` (project) or `~/.claude/settings.json` (user):
|
|
12
12
|
|
|
13
13
|
```json
|
|
14
14
|
{
|
|
@@ -21,11 +21,9 @@ Add to `.mcp.json` (project scope) or `~/.claude/settings.json` (user scope):
|
|
|
21
21
|
}
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
Reload MCP servers, then ask the LLM to hunt seeds. The first invocation caches the package under npm's `_npx` cache.
|
|
25
|
-
|
|
26
24
|
### Claude Desktop
|
|
27
25
|
|
|
28
|
-
|
|
26
|
+
`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS, or the platform equivalent:
|
|
29
27
|
|
|
30
28
|
```json
|
|
31
29
|
{
|
|
@@ -38,96 +36,81 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
|
|
|
38
36
|
}
|
|
39
37
|
```
|
|
40
38
|
|
|
41
|
-
|
|
39
|
+
### Codex CLI
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
codex mcp add sussy-seeds -- npx -y @onimaxxing/sussy-seeds-mcp
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Or edit `~/.codex/config.toml` directly:
|
|
46
|
+
|
|
47
|
+
```toml
|
|
48
|
+
[mcp_servers.sussy-seeds]
|
|
49
|
+
command = "npx"
|
|
50
|
+
args = ["-y", "@onimaxxing/sussy-seeds-mcp"]
|
|
51
|
+
```
|
|
42
52
|
|
|
43
|
-
### Other
|
|
53
|
+
### Other clients
|
|
44
54
|
|
|
45
|
-
|
|
55
|
+
Same `{command, args}` shape works in Cursor, Windsurf, Zed, Continue, Cline. Progress notifications carry `_meta.progressToken`.
|
|
46
56
|
|
|
47
57
|
## Requirements
|
|
48
58
|
|
|
49
|
-
Node 20 or newer.
|
|
59
|
+
Node 20 or newer.
|
|
50
60
|
|
|
51
61
|
## Tools
|
|
52
62
|
|
|
53
|
-
Grouped by phase of a typical hunt.
|
|
54
|
-
|
|
55
63
|
### Discovery
|
|
56
64
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
- `listClusters({filter?})`, with disambiguation hints for shared-stem labels (`AQU-C` vs `V-AQU-C`)
|
|
65
|
+
- `listClusters({filter?})`
|
|
60
66
|
- `listWorlds({coord})`, `listWorldsAcrossClusters({query})`
|
|
61
67
|
- `listStoryTraits`, `listMixingCategories`
|
|
62
68
|
- `listGeysers`, `listTraits`, `listBiomes`, `listPois`
|
|
63
|
-
- `listSpawnTags({query?, group?})`
|
|
64
|
-
- `listConstraintKinds`
|
|
65
|
-
- `listHelpers`
|
|
66
|
-
- `listPrefabAdmissibility({coord, prefabId})`
|
|
69
|
+
- `listSpawnTags({query?, group?, offset?, limit?})`
|
|
70
|
+
- `listConstraintKinds`
|
|
71
|
+
- `listHelpers`
|
|
72
|
+
- `listPrefabAdmissibility({coord, prefabId})`
|
|
67
73
|
|
|
68
74
|
### Coord composition
|
|
69
75
|
|
|
70
|
-
- `buildCoord({formState})
|
|
76
|
+
- `buildCoord({formState})`
|
|
77
|
+
- `parseCoord({coord})`
|
|
78
|
+
- `describeCoord({coord})`
|
|
79
|
+
- `freshCoord({clusterPrefix})`
|
|
71
80
|
|
|
72
81
|
### Admissibility
|
|
73
82
|
|
|
74
|
-
- `verdictOf({coord, constraint})`, `verdictOfSpec({coord, spec})`
|
|
83
|
+
- `verdictOf({coord, constraint})`, `verdictOfSpec({coord, spec})`
|
|
75
84
|
|
|
76
85
|
### Scanning
|
|
77
86
|
|
|
78
|
-
|
|
87
|
+
Streams `notifications/progress` when the client sends `_meta.progressToken`. Cancellable via JSON-RPC.
|
|
79
88
|
|
|
80
|
-
- `scan({coord, spec, opts?})
|
|
81
|
-
- `scanUntil({coord, spec, targetHits, opts?})
|
|
82
|
-
- `scanSeeds({coord, spec, seeds})
|
|
89
|
+
- `scan({coord, spec, opts?})`: top-K over a seed range. Bytecode tier (~1M/s/core) for require-only summary specs; JS tier otherwise.
|
|
90
|
+
- `scanUntil({coord, spec, targetHits, opts?})`: stops at N matches.
|
|
91
|
+
- `scanSeeds({coord, spec, seeds})`: one row per input seed.
|
|
83
92
|
|
|
84
|
-
`spec.preHook` and `spec.postHook` accept raw JS
|
|
93
|
+
`spec.preHook` and `spec.postHook` accept raw JS. Reserved-identifier guard rejects sources that shadow the Builder emit's bindings.
|
|
85
94
|
|
|
86
95
|
### Inspection
|
|
87
96
|
|
|
88
|
-
- `getSeedSummary({coord, seed})`
|
|
89
|
-
- `getSeedDeep({coord, seed})`
|
|
90
|
-
- `describeSeed({coord, seed, deep?})`
|
|
97
|
+
- `getSeedSummary({coord, seed})`
|
|
98
|
+
- `getSeedDeep({coord, seed})`
|
|
99
|
+
- `describeSeed({coord, seed, deep?})`
|
|
91
100
|
|
|
92
101
|
### Sharing
|
|
93
102
|
|
|
94
|
-
- `shareResults({coord, spec, seeds, scanLimit?, tab?})
|
|
103
|
+
- `shareResults({coord, spec, seeds, scanLimit?, tab?})`: returns `https://onimaxxing.com/sussy-seeds/<hash>`. Opening the URL loads the spec, pins the seeds, sets the coord.
|
|
95
104
|
|
|
96
105
|
### Diagnostics
|
|
97
106
|
|
|
98
|
-
- `ping()`
|
|
99
|
-
- `probeStreaming({steps, delayMs})`
|
|
107
|
+
- `ping()`
|
|
108
|
+
- `probeStreaming({steps, delayMs})`
|
|
100
109
|
|
|
101
110
|
## Constraint kinds
|
|
102
111
|
|
|
103
|
-
Every kind the sussy-seeds Builder tab supports is accepted through the MCP surface. Call `listConstraintKinds` for the catalog with example payloads. Current set:
|
|
104
|
-
|
|
105
112
|
`world.trait`, `world.geyser`, `world.distToHome`, `world.distTo`, `world.traitCount`, `world.oilWells`, `world.critter`, `world.plant`, `world.spawn`, `world.biomeCount`, `world.marshyTungstenInMagma`, `world.niobiumVolcanoAccess`, `world.sussy`, `world.trash`, `world.asteroidRemix`, `poi.count`, `map.elementMass`, `home.geyserNearStart`, `cluster.geyser`, `cluster.oilWells`, `cluster.critter`, `cluster.plant`, `cluster.sussy`, `cluster.trash`.
|
|
106
113
|
|
|
107
|
-
## Development
|
|
108
|
-
|
|
109
|
-
Sources live in the [onimaxxing](https://github.com/tigin-backwards/onimaxxing) monorepo at `packages/sussy-seeds-mcp/`, and reach into `apps/onimaxxing/src/gambling/` for the compile-to-js pipeline and constraint AST.
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
pnpm install
|
|
113
|
-
pnpm --filter @onimaxxing/sussy-seeds-mcp build
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
For local Claude Code development, point `.mcp.json` at the built file directly:
|
|
117
|
-
|
|
118
|
-
```json
|
|
119
|
-
{
|
|
120
|
-
"mcpServers": {
|
|
121
|
-
"sussy-seeds": {
|
|
122
|
-
"command": "node",
|
|
123
|
-
"args": ["/absolute/path/to/packages/sussy-seeds-mcp/dist/index.js"]
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
Reload MCP servers on every rebuild.
|
|
130
|
-
|
|
131
114
|
## License
|
|
132
115
|
|
|
133
116
|
MIT.
|
package/dist/index.js
CHANGED
|
@@ -143276,7 +143276,7 @@ function errorPayload(message, extras) {
|
|
|
143276
143276
|
content: [
|
|
143277
143277
|
{
|
|
143278
143278
|
type: "text",
|
|
143279
|
-
text: JSON.stringify({ ok: false, error: message, ...extras
|
|
143279
|
+
text: JSON.stringify({ ok: false, error: message, ...extras })
|
|
143280
143280
|
}
|
|
143281
143281
|
],
|
|
143282
143282
|
isError: true
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onimaxxing/sussy-seeds-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "MCP server for Oxygen Not Included seed hunting. Runs the sussy-seeds wasm scanner over stdio; the LLM composes Builder AST specs and drives cluster / summary / map-tier scans against the game's real worldgen.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|