Skip to content

Commit 87fadfd

Browse files
committed
fix: encode the mcp subcommand in server.json package arguments
A registry-format launcher (e.g. one consuming /.well-known/mcp.json or the MCP registry entry) starts the server from the package descriptor only; without the positional "mcp" argument it runs the bare CLI instead of the stdio MCP server (bin.ts only starts the MCP server for the mcp subcommand). Enforce the argument in scripts/sync-mcp-metadata.mjs so sync and the CI/prepack checks (check:mcp-metadata) keep server.json correct, and regenerate server.json.
1 parent 309a536 commit 87fadfd

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

‎scripts/sync-mcp-metadata.mjs‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const server = readJson(serverPath);
1212
const expectedName = pkg.mcpName;
1313
const expectedVersion = pkg.version;
1414
const registryDescriptionMaxLength = 100;
15+
const mcpPackageArguments = [{ type: 'positional', value: 'mcp' }];
1516

1617
if (typeof expectedName !== 'string' || expectedName.length === 0) {
1718
fail('package.json must define mcpName.');
@@ -32,6 +33,7 @@ if (Array.isArray(server.packages)) {
3233
for (const packageEntry of server.packages) {
3334
if (packageEntry?.identifier === pkg.name) {
3435
packageEntry.version = expectedVersion;
36+
packageEntry.packageArguments = mcpPackageArguments;
3537
}
3638
}
3739
}

‎server.json‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,13 @@
1515
"version": "0.20.11-dev",
1616
"transport": {
1717
"type": "stdio"
18-
}
18+
},
19+
"packageArguments": [
20+
{
21+
"type": "positional",
22+
"value": "mcp"
23+
}
24+
]
1925
}
2026
]
2127
}

0 commit comments

Comments
 (0)