fix: mcp command accepts --project directly for Claude spawned processes

The mcp subcommand now has its own -p/--project option with
passThroughOptions(), so `mcpctl mcp --project NAME` works when Claude
spawns the process. Updated config claude to generate
args: ['mcp', '--project', project] and added Commander-level tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Michal
2026-02-24 10:14:16 +00:00
parent b34ea63d3d
commit fa6240107f
4 changed files with 48 additions and 8 deletions

View File

@@ -45,7 +45,7 @@ describe('config claude', () => {
const written = JSON.parse(readFileSync(outPath, 'utf-8'));
expect(written.mcpServers['homeautomation']).toEqual({
command: 'mcpctl',
args: ['mcp', '-p', 'homeautomation'],
args: ['mcp', '--project', 'homeautomation'],
});
expect(output.join('\n')).toContain('1 server(s)');
});
@@ -60,7 +60,7 @@ describe('config claude', () => {
const parsed = JSON.parse(output[0]);
expect(parsed.mcpServers['myproj']).toEqual({
command: 'mcpctl',
args: ['mcp', '-p', 'myproj'],
args: ['mcp', '--project', 'myproj'],
});
});
@@ -80,7 +80,7 @@ describe('config claude', () => {
expect(written.mcpServers['existing--server']).toBeDefined();
expect(written.mcpServers['proj-1']).toEqual({
command: 'mcpctl',
args: ['mcp', '-p', 'proj-1'],
args: ['mcp', '--project', 'proj-1'],
});
expect(output.join('\n')).toContain('2 server(s)');
});
@@ -96,7 +96,7 @@ describe('config claude', () => {
const written = JSON.parse(readFileSync(outPath, 'utf-8'));
expect(written.mcpServers['proj-1']).toEqual({
command: 'mcpctl',
args: ['mcp', '-p', 'proj-1'],
args: ['mcp', '--project', 'proj-1'],
});
});