@rotifer/mcp-server 0.13.0 → 0.15.0
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 +33 -2
- package/dist/server.js +12 -4
- package/dist/server.js.map +1 -1
- package/dist/tool-sets.d.ts +32 -2
- package/dist/tool-sets.js +111 -5
- package/dist/tool-sets.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -238,12 +238,17 @@ to what a given integration actually needs — useful when the server is attache
|
|
|
238
238
|
to an assistant that should not be able to publish or log in on your behalf:
|
|
239
239
|
|
|
240
240
|
```bash
|
|
241
|
-
|
|
242
|
-
|
|
241
|
+
npx @rotifer/mcp-server --tools=evolve # the rank-and-swap preset (10 tools)
|
|
242
|
+
npx @rotifer/mcp-server --tools=readonly # nothing that writes (14 tools)
|
|
243
243
|
ROTIFER_MCP_TOOLS=search_genes,get_gene_detail # an exact list
|
|
244
244
|
ROTIFER_MCP_TOOLS=evolve,vg_scan # a preset plus one
|
|
245
245
|
```
|
|
246
246
|
|
|
247
|
+
The flag and the variable do the same thing, and the flag wins if both are set.
|
|
248
|
+
Both exist because callers differ in what they can reach: a shell user sets the
|
|
249
|
+
variable, while something launching this server from a manifest controls only
|
|
250
|
+
the command line.
|
|
251
|
+
|
|
247
252
|
Tools outside the set disappear from `listTools` and are refused if called
|
|
248
253
|
anyway. The refusal says how to add the tool back and, where one exists, the
|
|
249
254
|
`rotifer` CLI command that does the same job — so a narrowed set is a boundary
|
|
@@ -251,6 +256,32 @@ you can see and cross deliberately, not a dead end.
|
|
|
251
256
|
|
|
252
257
|
Leave it unset and nothing changes.
|
|
253
258
|
|
|
259
|
+
### Switching off the sandbox
|
|
260
|
+
|
|
261
|
+
`agent_run` and `run_gene` take `no_sandbox`, and `run_gene` also takes
|
|
262
|
+
`trust_unsigned` — options that run Gene code as plain Node.js instead of inside
|
|
263
|
+
the WASM sandbox. Narrowing the tool set would mean little if a tool inside the
|
|
264
|
+
narrowed set could still do that, so these are refused unless declared at
|
|
265
|
+
launch:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
npx @rotifer/mcp-server --allow=no-sandbox
|
|
269
|
+
npx @rotifer/mcp-server --allow=no-sandbox,trust-unsigned
|
|
270
|
+
ROTIFER_MCP_ALLOW=no-sandbox # same thing
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
Nothing is removed. The option moves from "any caller can set it" to "someone
|
|
274
|
+
declared it at launch", and you can always do it yourself:
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
rotifer agent run <name> --no-sandbox
|
|
278
|
+
rotifer run <gene> --trust-unsigned
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
What changes is that an assistant can no longer decide to unsandbox on its own.
|
|
282
|
+
Passing `no_sandbox: false` is asking for the safe behaviour and is never
|
|
283
|
+
refused.
|
|
284
|
+
|
|
254
285
|
### Undoing an install
|
|
255
286
|
|
|
256
287
|
`install_gene` with `force` used to overwrite a Gene with no way back. It now
|
package/dist/server.js
CHANGED
|
@@ -3,7 +3,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema, ListResourceTemplatesReq
|
|
|
3
3
|
import { searchGenes, getGeneDetail, arenaRankings, compareGenes, geneStats, leaderboard, developerProfile, listLocalGenes, listLocalAgents, submitToArena, installGeneFromCloud, rollbackGene, createLocalAgent, agentRun, compileGene, runGene, initGene, scanGenes, wrapGene, testGene, publishGene, authStatus, login, logout, geneVersions, mcpStats, geneReputation, myReputation, domainSuggestion, vgScan, doctor } from "./tools.js";
|
|
4
4
|
import { getGeneStatsRpc, getReputationLeaderboard, getDeveloperProfile, getGene, logMcpCall, logGeneInvocation } from "./cloud.js";
|
|
5
5
|
import { loadCredentials } from "./auth.js";
|
|
6
|
-
import { resolveToolSet, unavailableToolMessage } from "./tool-sets.js";
|
|
6
|
+
import { resolveToolSet, unavailableToolMessage, resolveAllowList, blockedEscapeHatches, escapeHatchMessage } from "./tool-sets.js";
|
|
7
7
|
import { getPackageVersion, getVersionInfo, formatUpdateHint } from "./version.js";
|
|
8
8
|
const ICON_DATA_URI = "data:image/png;base64,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";
|
|
9
9
|
export function createServer() {
|
|
@@ -21,6 +21,7 @@ export function createServer() {
|
|
|
21
21
|
// Declared once per process: the set cannot change while the server runs,
|
|
22
22
|
// and ListTools must agree with what CallTool will actually accept.
|
|
23
23
|
const allowedTools = resolveToolSet();
|
|
24
|
+
const allowedHatches = resolveAllowList();
|
|
24
25
|
const ALL_TOOLS = [
|
|
25
26
|
{
|
|
26
27
|
name: "search_genes",
|
|
@@ -213,7 +214,7 @@ export function createServer() {
|
|
|
213
214
|
project_root: { type: "string", description: "Project root path" },
|
|
214
215
|
input: { type: "string", description: "Input data to pass to the agent (JSON string)" },
|
|
215
216
|
verbose: { type: "boolean", description: "Show intermediate results for each gene step" },
|
|
216
|
-
no_sandbox: { type: "boolean", description: "Force Node.js execution, skip WASM sandbox" },
|
|
217
|
+
no_sandbox: { type: "boolean", description: "Force Node.js execution, skip WASM sandbox. Refused unless the server was launched with --allow=no-sandbox." },
|
|
217
218
|
},
|
|
218
219
|
required: ["agent_name"],
|
|
219
220
|
},
|
|
@@ -256,8 +257,8 @@ export function createServer() {
|
|
|
256
257
|
project_root: { type: "string", description: "Project root path" },
|
|
257
258
|
input: { type: "string", description: "Input JSON data to pass to the gene" },
|
|
258
259
|
verbose: { type: "boolean", description: "Show detailed execution output (default: false)" },
|
|
259
|
-
no_sandbox: { type: "boolean", description: "Run without WASM sandbox, Node.js only (default: false)" },
|
|
260
|
-
trust_unsigned: { type: "boolean", description: "Allow Node.js execution for Cloud-installed genes (default: false)" },
|
|
260
|
+
no_sandbox: { type: "boolean", description: "Run without WASM sandbox, Node.js only (default: false). Refused unless the server was launched with --allow=no-sandbox." },
|
|
261
|
+
trust_unsigned: { type: "boolean", description: "Allow Node.js execution for Cloud-installed genes (default: false). Refused unless the server was launched with --allow=trust-unsigned." },
|
|
261
262
|
},
|
|
262
263
|
required: ["gene_name"],
|
|
263
264
|
},
|
|
@@ -472,6 +473,13 @@ export function createServer() {
|
|
|
472
473
|
if (allowedTools && !allowedTools.has(name)) {
|
|
473
474
|
throw new McpError(ErrorCode.MethodNotFound, unavailableToolMessage(name, allowedTools));
|
|
474
475
|
}
|
|
476
|
+
// Narrowing the tool set does not help if a tool inside it can switch off
|
|
477
|
+
// the sandbox. Unlike the set, this applies whether or not one is declared:
|
|
478
|
+
// an escape hatch is a property of the option, not of who is asking.
|
|
479
|
+
const blocked = blockedEscapeHatches(name, args, allowedHatches);
|
|
480
|
+
if (blocked.length) {
|
|
481
|
+
throw new McpError(ErrorCode.InvalidParams, escapeHatchMessage(blocked));
|
|
482
|
+
}
|
|
475
483
|
try {
|
|
476
484
|
let result;
|
|
477
485
|
switch (name) {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/tool-sets.d.ts
CHANGED
|
@@ -11,19 +11,49 @@
|
|
|
11
11
|
* names, or both mixed. Unset means every tool, so nothing changes for anyone
|
|
12
12
|
* who does not opt in:
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* --tools=evolve the preset
|
|
15
|
+
* --tools=search_genes,get_gene_detail an exact pair
|
|
16
16
|
* ROTIFER_MCP_TOOLS=evolve,vg_scan a preset plus one
|
|
17
17
|
*
|
|
18
|
+
* Both spellings exist because callers differ in what they can set: a shell
|
|
19
|
+
* user reaches for the variable, while a manifest that launches this server
|
|
20
|
+
* controls argv and nothing else. The flag wins when both are present.
|
|
21
|
+
*
|
|
18
22
|
* A list rather than a fixed profile flag on purpose: rotifer.ai's Web Studio
|
|
19
23
|
* will want a different set than a marketplace Skill, and a Cursor user wants
|
|
20
24
|
* all of them. Presets that turn out to be common can be added here; a caller
|
|
21
25
|
* with an unusual need does not have to wait for one.
|
|
22
26
|
*/
|
|
23
27
|
export declare const PRESETS: Record<string, readonly string[]>;
|
|
28
|
+
/** Escape hatches declared at launch, by option name. */
|
|
29
|
+
export declare function resolveAllowList(declaration?: string | undefined): Set<string>;
|
|
30
|
+
export declare function allowListFromArgv(argv?: readonly string[]): string | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Which declared-off escape hatches a call is trying to use.
|
|
33
|
+
*
|
|
34
|
+
* Only arguments that are actually truthy count: passing `no_sandbox: false`
|
|
35
|
+
* is asking for the safe behaviour and must not be refused.
|
|
36
|
+
*/
|
|
37
|
+
export declare function blockedEscapeHatches(toolName: string, args: Record<string, unknown> | undefined, allowed: Set<string>): string[];
|
|
38
|
+
/** Why an escape hatch is unavailable, and how to get it — same shape as a refused tool. */
|
|
39
|
+
export declare function escapeHatchMessage(options: string[]): string;
|
|
40
|
+
/**
|
|
41
|
+
* Read `--tools=<set>` or `--tools <set>` from a launch command line.
|
|
42
|
+
*
|
|
43
|
+
* The environment variable alone is not enough. Callers that launch this server
|
|
44
|
+
* from a manifest — a ClawHub Skill among them — control the argv and not the
|
|
45
|
+
* environment: ClawHub's schema has an `env` field, but it declares which
|
|
46
|
+
* variables a Skill *requires*, with no way to give one a value. A restriction
|
|
47
|
+
* that the one caller it was built for cannot switch on would be a restriction
|
|
48
|
+
* in name only.
|
|
49
|
+
*/
|
|
50
|
+
export declare function toolSetFromArgv(argv?: readonly string[]): string | undefined;
|
|
24
51
|
/**
|
|
25
52
|
* Resolve the declared set, or null when every tool is allowed.
|
|
26
53
|
*
|
|
54
|
+
* The command line wins over the environment: it is the more specific of the
|
|
55
|
+
* two, and it is what a manifest can actually set.
|
|
56
|
+
*
|
|
27
57
|
* Unknown names are ignored rather than fatal: a typo should cost you one tool,
|
|
28
58
|
* not the whole server, and a set written for a newer version should still work
|
|
29
59
|
* against an older one.
|
package/dist/tool-sets.js
CHANGED
|
@@ -11,10 +11,14 @@
|
|
|
11
11
|
* names, or both mixed. Unset means every tool, so nothing changes for anyone
|
|
12
12
|
* who does not opt in:
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* --tools=evolve the preset
|
|
15
|
+
* --tools=search_genes,get_gene_detail an exact pair
|
|
16
16
|
* ROTIFER_MCP_TOOLS=evolve,vg_scan a preset plus one
|
|
17
17
|
*
|
|
18
|
+
* Both spellings exist because callers differ in what they can set: a shell
|
|
19
|
+
* user reaches for the variable, while a manifest that launches this server
|
|
20
|
+
* controls argv and nothing else. The flag wins when both are present.
|
|
21
|
+
*
|
|
18
22
|
* A list rather than a fixed profile flag on purpose: rotifer.ai's Web Studio
|
|
19
23
|
* will want a different set than a marketplace Skill, and a Cursor user wants
|
|
20
24
|
* all of them. Presets that turn out to be common can be added here; a caller
|
|
@@ -77,14 +81,116 @@ const CLI_EQUIVALENT = {
|
|
|
77
81
|
get_gene_reputation: "rotifer reputation",
|
|
78
82
|
doctor: "rotifer doctor",
|
|
79
83
|
};
|
|
84
|
+
/**
|
|
85
|
+
* Options that switch off a safety property rather than choose a behaviour.
|
|
86
|
+
*
|
|
87
|
+
* Narrowing the tool set is not enough on its own. `agent_run` is in the
|
|
88
|
+
* `evolve` preset because the Skill runs agents, and it takes `no_sandbox` —
|
|
89
|
+
* a plain boolean that drops third-party Gene code out of the WASM sandbox and
|
|
90
|
+
* into plain Node. Ten tools with an escape hatch in one of them is not ten
|
|
91
|
+
* tools. `run_gene` carries the same option plus `trust_unsigned`, which does
|
|
92
|
+
* it specifically for code installed from the marketplace.
|
|
93
|
+
*
|
|
94
|
+
* These are not removed. They are moved from "any caller can set this" to
|
|
95
|
+
* "someone declared this at launch", which is the same rule the tool set
|
|
96
|
+
* follows, and the person at the keyboard can always run the CLI themselves.
|
|
97
|
+
* What changes is that an assistant can no longer decide to unsandbox on its
|
|
98
|
+
* own.
|
|
99
|
+
*/
|
|
100
|
+
const ESCAPE_HATCHES = {
|
|
101
|
+
no_sandbox: {
|
|
102
|
+
flag: "no-sandbox",
|
|
103
|
+
tools: ["agent_run", "run_gene"],
|
|
104
|
+
cli: "rotifer agent run <name> --no-sandbox (or: rotifer run <gene> --no-sandbox)",
|
|
105
|
+
what: "runs Gene code as plain Node.js instead of inside the WASM sandbox",
|
|
106
|
+
},
|
|
107
|
+
trust_unsigned: {
|
|
108
|
+
flag: "trust-unsigned",
|
|
109
|
+
tools: ["run_gene"],
|
|
110
|
+
cli: "rotifer run <gene> --trust-unsigned",
|
|
111
|
+
what: "allows unsandboxed Node.js execution of Genes installed from the marketplace",
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
/** Escape hatches declared at launch, by option name. */
|
|
115
|
+
export function resolveAllowList(declaration = allowListFromArgv() ?? process.env.ROTIFER_MCP_ALLOW) {
|
|
116
|
+
const raw = (declaration || "").trim();
|
|
117
|
+
if (!raw)
|
|
118
|
+
return new Set();
|
|
119
|
+
const byFlag = new Map(Object.entries(ESCAPE_HATCHES).map(([option, spec]) => [spec.flag, option]));
|
|
120
|
+
const allowed = new Set();
|
|
121
|
+
for (const token of raw.split(",").map((t) => t.trim()).filter(Boolean)) {
|
|
122
|
+
// Accept either spelling — the flag as written on the command line, or the
|
|
123
|
+
// option name as it appears in the tool schema.
|
|
124
|
+
const option = byFlag.get(token) ?? (token in ESCAPE_HATCHES ? token : null);
|
|
125
|
+
if (option)
|
|
126
|
+
allowed.add(option);
|
|
127
|
+
}
|
|
128
|
+
return allowed;
|
|
129
|
+
}
|
|
130
|
+
export function allowListFromArgv(argv = process.argv.slice(2)) {
|
|
131
|
+
for (let i = 0; i < argv.length; i++) {
|
|
132
|
+
const arg = argv[i];
|
|
133
|
+
if (arg.startsWith("--allow="))
|
|
134
|
+
return arg.slice("--allow=".length);
|
|
135
|
+
if (arg === "--allow")
|
|
136
|
+
return argv[i + 1];
|
|
137
|
+
}
|
|
138
|
+
return undefined;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Which declared-off escape hatches a call is trying to use.
|
|
142
|
+
*
|
|
143
|
+
* Only arguments that are actually truthy count: passing `no_sandbox: false`
|
|
144
|
+
* is asking for the safe behaviour and must not be refused.
|
|
145
|
+
*/
|
|
146
|
+
export function blockedEscapeHatches(toolName, args, allowed) {
|
|
147
|
+
if (!args)
|
|
148
|
+
return [];
|
|
149
|
+
return Object.entries(ESCAPE_HATCHES)
|
|
150
|
+
.filter(([option, spec]) => spec.tools.includes(toolName) && args[option] === true && !allowed.has(option))
|
|
151
|
+
.map(([option]) => option);
|
|
152
|
+
}
|
|
153
|
+
/** Why an escape hatch is unavailable, and how to get it — same shape as a refused tool. */
|
|
154
|
+
export function escapeHatchMessage(options) {
|
|
155
|
+
const lines = [];
|
|
156
|
+
for (const option of options) {
|
|
157
|
+
const spec = ESCAPE_HATCHES[option];
|
|
158
|
+
lines.push(`'${option}' is not enabled on this server. It ${spec.what}.`, "", "This is a restriction, not a missing feature. To enable it:", ` • at launch: --allow=${spec.flag} (or ROTIFER_MCP_ALLOW=${spec.flag})`, ` • or run it yourself: ${spec.cli}`, "");
|
|
159
|
+
}
|
|
160
|
+
lines.push("Retry without it to run inside the sandbox.");
|
|
161
|
+
return lines.join("\n");
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Read `--tools=<set>` or `--tools <set>` from a launch command line.
|
|
165
|
+
*
|
|
166
|
+
* The environment variable alone is not enough. Callers that launch this server
|
|
167
|
+
* from a manifest — a ClawHub Skill among them — control the argv and not the
|
|
168
|
+
* environment: ClawHub's schema has an `env` field, but it declares which
|
|
169
|
+
* variables a Skill *requires*, with no way to give one a value. A restriction
|
|
170
|
+
* that the one caller it was built for cannot switch on would be a restriction
|
|
171
|
+
* in name only.
|
|
172
|
+
*/
|
|
173
|
+
export function toolSetFromArgv(argv = process.argv.slice(2)) {
|
|
174
|
+
for (let i = 0; i < argv.length; i++) {
|
|
175
|
+
const arg = argv[i];
|
|
176
|
+
if (arg.startsWith("--tools="))
|
|
177
|
+
return arg.slice("--tools=".length);
|
|
178
|
+
if (arg === "--tools")
|
|
179
|
+
return argv[i + 1];
|
|
180
|
+
}
|
|
181
|
+
return undefined;
|
|
182
|
+
}
|
|
80
183
|
/**
|
|
81
184
|
* Resolve the declared set, or null when every tool is allowed.
|
|
82
185
|
*
|
|
186
|
+
* The command line wins over the environment: it is the more specific of the
|
|
187
|
+
* two, and it is what a manifest can actually set.
|
|
188
|
+
*
|
|
83
189
|
* Unknown names are ignored rather than fatal: a typo should cost you one tool,
|
|
84
190
|
* not the whole server, and a set written for a newer version should still work
|
|
85
191
|
* against an older one.
|
|
86
192
|
*/
|
|
87
|
-
export function resolveToolSet(declaration = process.env.ROTIFER_MCP_TOOLS) {
|
|
193
|
+
export function resolveToolSet(declaration = toolSetFromArgv() ?? process.env.ROTIFER_MCP_TOOLS) {
|
|
88
194
|
const raw = (declaration || "").trim();
|
|
89
195
|
if (!raw)
|
|
90
196
|
return null;
|
|
@@ -113,8 +219,8 @@ export function unavailableToolMessage(name, allowed) {
|
|
|
113
219
|
`Available here: ${[...allowed].sort().join(", ")}.`,
|
|
114
220
|
"",
|
|
115
221
|
"This is a restriction, not a missing feature. To lift it:",
|
|
116
|
-
` • add it:
|
|
117
|
-
" • or allow all: unset ROTIFER_MCP_TOOLS",
|
|
222
|
+
` • add it: --tools=<current set>,${name} (or ROTIFER_MCP_TOOLS)`,
|
|
223
|
+
" • or allow all: drop --tools / unset ROTIFER_MCP_TOOLS",
|
|
118
224
|
];
|
|
119
225
|
const cli = CLI_EQUIVALENT[name];
|
|
120
226
|
if (cli) {
|
package/dist/tool-sets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-sets.js","sourceRoot":"","sources":["../src/tool-sets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tool-sets.js","sourceRoot":"","sources":["../src/tool-sets.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rotifer/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"mcpName": "io.github.rotifer-protocol/mcp-server",
|
|
5
5
|
"description": "Rotifer MCP Server — AI agents search, compare, and rank Genes (modular AI skills) from a living ecosystem of 50+ capabilities. Zero config.",
|
|
6
6
|
"type": "module",
|