@vibe-agent-toolkit/cli 0.1.1 → 0.1.2-rc.1
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/dist/bin.js +2 -0
- package/dist/bin.js.map +1 -1
- package/dist/commands/audit.d.ts +1 -0
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +30 -12
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/mcp/collections.d.ts +48 -0
- package/dist/commands/mcp/collections.d.ts.map +1 -0
- package/dist/commands/mcp/collections.js +130 -0
- package/dist/commands/mcp/collections.js.map +1 -0
- package/dist/commands/mcp/index.d.ts +9 -0
- package/dist/commands/mcp/index.d.ts.map +1 -0
- package/dist/commands/mcp/index.js +80 -0
- package/dist/commands/mcp/index.js.map +1 -0
- package/dist/commands/mcp/list-collections.d.ts +11 -0
- package/dist/commands/mcp/list-collections.d.ts.map +1 -0
- package/dist/commands/mcp/list-collections.js +43 -0
- package/dist/commands/mcp/list-collections.js.map +1 -0
- package/dist/commands/mcp/serve.d.ts +12 -0
- package/dist/commands/mcp/serve.d.ts.map +1 -0
- package/dist/commands/mcp/serve.js +87 -0
- package/dist/commands/mcp/serve.js.map +1 -0
- package/docs/mcp.md +317 -0
- package/package.json +11 -8
package/dist/bin.js
CHANGED
|
@@ -7,6 +7,7 @@ import { Command } from 'commander';
|
|
|
7
7
|
import { createAgentCommand, showAgentVerboseHelp } from './commands/agent/index.js';
|
|
8
8
|
import { createAuditCommand } from './commands/audit.js';
|
|
9
9
|
import { doctorCommand } from './commands/doctor.js';
|
|
10
|
+
import { createMCPCommand } from './commands/mcp/index.js';
|
|
10
11
|
import { createRagCommand, showRagVerboseHelp } from './commands/rag/index.js';
|
|
11
12
|
import { createResourcesCommand, showResourcesVerboseHelp } from './commands/resources/index.js';
|
|
12
13
|
import { loadVerboseHelp } from './utils/help-loader.js';
|
|
@@ -93,6 +94,7 @@ program.addCommand(createAuditCommand());
|
|
|
93
94
|
program.addCommand(createResourcesCommand());
|
|
94
95
|
program.addCommand(createRagCommand());
|
|
95
96
|
program.addCommand(createAgentCommand());
|
|
97
|
+
program.addCommand(createMCPCommand());
|
|
96
98
|
// Add standalone commands
|
|
97
99
|
doctorCommand(program);
|
|
98
100
|
// Handle unknown commands
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/audit.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CA+D5C;AAWD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA6Cf"}
|
package/dist/commands/audit.js
CHANGED
|
@@ -24,6 +24,7 @@ export function createAuditCommand() {
|
|
|
24
24
|
.option('-r, --recursive', 'Scan directories recursively for all resource types')
|
|
25
25
|
.option('--user', 'Audit user-level Claude plugins installation (~/.claude/plugins)')
|
|
26
26
|
.option('--verbose', 'Show all scanned resources, including those without issues')
|
|
27
|
+
.option('--warn-unreferenced-files', 'Warn about files not referenced in skill markdown')
|
|
27
28
|
.option('--debug', 'Enable debug logging')
|
|
28
29
|
.action(auditCommand)
|
|
29
30
|
.addHelpText('after', `
|
|
@@ -44,6 +45,10 @@ Description:
|
|
|
44
45
|
Default: current directory
|
|
45
46
|
Use --user to audit user-level installation (~/.claude/plugins) automatically
|
|
46
47
|
|
|
48
|
+
Validation Behavior:
|
|
49
|
+
Default: Validates SKILL.md and all transitively linked markdown files
|
|
50
|
+
--warn-unreferenced-files: Also detect files not referenced in skill
|
|
51
|
+
|
|
47
52
|
Validation Checks:
|
|
48
53
|
Errors (must fix):
|
|
49
54
|
- Missing or invalid manifests/frontmatter
|
|
@@ -56,6 +61,7 @@ Validation Checks:
|
|
|
56
61
|
Warnings (should fix):
|
|
57
62
|
- Skill exceeds recommended length (>5000 lines)
|
|
58
63
|
- References console-incompatible tools (Skills only)
|
|
64
|
+
- Unreferenced files detected (with --warn-unreferenced-files)
|
|
59
65
|
|
|
60
66
|
Exit Codes:
|
|
61
67
|
0 - Success | 1 - Errors found | 2 - System error
|
|
@@ -101,7 +107,7 @@ export async function auditCommand(targetPath, options) {
|
|
|
101
107
|
logger.debug(`Auditing resources at: ${scanPath}`);
|
|
102
108
|
}
|
|
103
109
|
// Get validation results
|
|
104
|
-
const results = await getValidationResults(scanPath, recursive, logger);
|
|
110
|
+
const results = await getValidationResults(scanPath, recursive, options, logger);
|
|
105
111
|
// Use hierarchical output for --user flag, flat output otherwise
|
|
106
112
|
if (options.user) {
|
|
107
113
|
// Filter to only include claude-skill type for hierarchical output
|
|
@@ -122,19 +128,27 @@ export async function auditCommand(targetPath, options) {
|
|
|
122
128
|
handleCommandError(error, logger, startTime, 'AgentAudit');
|
|
123
129
|
}
|
|
124
130
|
}
|
|
125
|
-
async function getValidationResults(scanPath, recursive, logger) {
|
|
131
|
+
async function getValidationResults(scanPath, recursive, options, logger) {
|
|
126
132
|
const format = detectFormat(scanPath);
|
|
127
133
|
// Special handling for direct SKILL.md file
|
|
128
134
|
if (format === 'claude-skill') {
|
|
129
135
|
logger.debug('Detected single Claude Skill');
|
|
130
|
-
const
|
|
136
|
+
const validateOptions = { skillPath: scanPath };
|
|
137
|
+
if (options.warnUnreferencedFiles) {
|
|
138
|
+
validateOptions.checkUnreferencedFiles = true;
|
|
139
|
+
}
|
|
140
|
+
const result = await validateSkill(validateOptions);
|
|
131
141
|
return [result];
|
|
132
142
|
}
|
|
133
143
|
// Special handling for VAT agent: validate its SKILL.md
|
|
134
144
|
if (format === 'vat-agent') {
|
|
135
145
|
const skillPath = path.join(scanPath, 'SKILL.md');
|
|
136
146
|
logger.debug('Detected VAT agent, validating SKILL.md');
|
|
137
|
-
const
|
|
147
|
+
const validateOptions = { skillPath, isVATGenerated: true };
|
|
148
|
+
if (options.warnUnreferencedFiles) {
|
|
149
|
+
validateOptions.checkUnreferencedFiles = true;
|
|
150
|
+
}
|
|
151
|
+
const result = await validateSkill(validateOptions);
|
|
138
152
|
return [result];
|
|
139
153
|
}
|
|
140
154
|
// For plugin/marketplace directories or registry files, use unified validator
|
|
@@ -150,7 +164,7 @@ async function getValidationResults(scanPath, recursive, logger) {
|
|
|
150
164
|
const stat = await fs.stat(scanPath);
|
|
151
165
|
if (stat.isDirectory()) {
|
|
152
166
|
logger.debug('Scanning directory for resources');
|
|
153
|
-
return scanDirectory(scanPath, recursive, logger);
|
|
167
|
+
return scanDirectory(scanPath, recursive, options, logger);
|
|
154
168
|
}
|
|
155
169
|
}
|
|
156
170
|
catch {
|
|
@@ -214,7 +228,7 @@ function logIssues(issues, logFn) {
|
|
|
214
228
|
/**
|
|
215
229
|
* Handle file entry during directory scan
|
|
216
230
|
*/
|
|
217
|
-
async function handleFileEntry(entry, fullPath, logger) {
|
|
231
|
+
async function handleFileEntry(entry, fullPath, options, logger) {
|
|
218
232
|
// Check for registry files
|
|
219
233
|
if (entry.name === 'installed_plugins.json' || entry.name === 'known_marketplaces.json') {
|
|
220
234
|
logger.debug(`Validating registry: ${fullPath}`);
|
|
@@ -223,14 +237,18 @@ async function handleFileEntry(entry, fullPath, logger) {
|
|
|
223
237
|
// Check for SKILL.md
|
|
224
238
|
if (entry.name === 'SKILL.md') {
|
|
225
239
|
logger.debug(`Validating Claude Skill: ${fullPath}`);
|
|
226
|
-
|
|
240
|
+
const validateOptions = { skillPath: fullPath };
|
|
241
|
+
if (options.warnUnreferencedFiles) {
|
|
242
|
+
validateOptions.checkUnreferencedFiles = true;
|
|
243
|
+
}
|
|
244
|
+
return validateSkill(validateOptions);
|
|
227
245
|
}
|
|
228
246
|
return null;
|
|
229
247
|
}
|
|
230
248
|
/**
|
|
231
249
|
* Handle directory entry during directory scan
|
|
232
250
|
*/
|
|
233
|
-
async function handleDirectoryEntry(fullPath, recursive, logger) {
|
|
251
|
+
async function handleDirectoryEntry(fullPath, recursive, options, logger) {
|
|
234
252
|
const fs = await import('node:fs/promises');
|
|
235
253
|
const results = [];
|
|
236
254
|
// Check if directory contains a plugin or marketplace
|
|
@@ -243,25 +261,25 @@ async function handleDirectoryEntry(fullPath, recursive, logger) {
|
|
|
243
261
|
}
|
|
244
262
|
// Recurse into subdirectories (both plugin/marketplace dirs and regular dirs)
|
|
245
263
|
if (recursive) {
|
|
246
|
-
const subResults = await scanDirectory(fullPath, recursive, logger);
|
|
264
|
+
const subResults = await scanDirectory(fullPath, recursive, options, logger);
|
|
247
265
|
results.push(...subResults);
|
|
248
266
|
}
|
|
249
267
|
return results;
|
|
250
268
|
}
|
|
251
|
-
async function scanDirectory(dirPath, recursive, logger) {
|
|
269
|
+
async function scanDirectory(dirPath, recursive, options, logger) {
|
|
252
270
|
const fs = await import('node:fs/promises');
|
|
253
271
|
const results = [];
|
|
254
272
|
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
255
273
|
for (const entry of entries) {
|
|
256
274
|
const fullPath = path.join(dirPath, entry.name);
|
|
257
275
|
if (entry.isFile()) {
|
|
258
|
-
const result = await handleFileEntry(entry, fullPath, logger);
|
|
276
|
+
const result = await handleFileEntry(entry, fullPath, options, logger);
|
|
259
277
|
if (result !== null) {
|
|
260
278
|
results.push(result);
|
|
261
279
|
}
|
|
262
280
|
}
|
|
263
281
|
else if (entry.isDirectory()) {
|
|
264
|
-
const dirResults = await handleDirectoryEntry(fullPath, recursive, logger);
|
|
282
|
+
const dirResults = await handleDirectoryEntry(fullPath, recursive, options, logger);
|
|
265
283
|
results.push(...dirResults);
|
|
266
284
|
}
|
|
267
285
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP collection resolution and loading
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - Package names: @vibe-agent-toolkit/vat-example-cat-agents
|
|
6
|
+
* - File paths: ./packages/vat-example-cat-agents
|
|
7
|
+
* - Collection suffix: @scope/package:collection-name
|
|
8
|
+
*
|
|
9
|
+
* Phase 1: Dynamic loading from npm packages or file paths
|
|
10
|
+
* Phase 2+: Global discovery registry
|
|
11
|
+
*/
|
|
12
|
+
import type { Agent, OneShotAgentOutput } from '@vibe-agent-toolkit/agent-schema';
|
|
13
|
+
export interface AgentRegistration {
|
|
14
|
+
name: string;
|
|
15
|
+
agent: Agent<unknown, OneShotAgentOutput<unknown, string>>;
|
|
16
|
+
description: string;
|
|
17
|
+
}
|
|
18
|
+
export interface AgentCollection {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
agents: AgentRegistration[];
|
|
22
|
+
}
|
|
23
|
+
export interface CollectionModule {
|
|
24
|
+
collections?: Record<string, AgentCollection>;
|
|
25
|
+
defaultCollection?: AgentCollection;
|
|
26
|
+
catAgents?: AgentCollection;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolve package name or file path to a collection
|
|
30
|
+
*
|
|
31
|
+
* Supports:
|
|
32
|
+
* - @scope/package → import from node_modules
|
|
33
|
+
* - @scope/package:collection → import specific collection
|
|
34
|
+
* - ./path → import from file path
|
|
35
|
+
* - /abs/path → import from absolute path
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveCollection(packageOrPath: string): Promise<AgentCollection>;
|
|
38
|
+
/**
|
|
39
|
+
* List known packages with MCP collections
|
|
40
|
+
*
|
|
41
|
+
* Phase 1: Hardcoded known packages
|
|
42
|
+
* Phase 2+: Global registry or package.json discovery
|
|
43
|
+
*/
|
|
44
|
+
export declare function listKnownPackages(): Array<{
|
|
45
|
+
name: string;
|
|
46
|
+
description: string;
|
|
47
|
+
}>;
|
|
48
|
+
//# sourceMappingURL=collections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/collections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAElF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CASvF;AA4HD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAOhF"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP collection resolution and loading
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - Package names: @vibe-agent-toolkit/vat-example-cat-agents
|
|
6
|
+
* - File paths: ./packages/vat-example-cat-agents
|
|
7
|
+
* - Collection suffix: @scope/package:collection-name
|
|
8
|
+
*
|
|
9
|
+
* Phase 1: Dynamic loading from npm packages or file paths
|
|
10
|
+
* Phase 2+: Global discovery registry
|
|
11
|
+
*/
|
|
12
|
+
import { pathToFileURL } from 'node:url';
|
|
13
|
+
/**
|
|
14
|
+
* Resolve package name or file path to a collection
|
|
15
|
+
*
|
|
16
|
+
* Supports:
|
|
17
|
+
* - @scope/package → import from node_modules
|
|
18
|
+
* - @scope/package:collection → import specific collection
|
|
19
|
+
* - ./path → import from file path
|
|
20
|
+
* - /abs/path → import from absolute path
|
|
21
|
+
*/
|
|
22
|
+
export async function resolveCollection(packageOrPath) {
|
|
23
|
+
const parts = packageOrPath.split(':');
|
|
24
|
+
const packagePart = parts[0] ?? packageOrPath;
|
|
25
|
+
const collectionName = parts[1];
|
|
26
|
+
const importPath = buildImportPath(packagePart);
|
|
27
|
+
const module = await loadCollectionModule(importPath, packageOrPath);
|
|
28
|
+
return selectCollection(module, collectionName, packagePart, packageOrPath);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Build import path from package name or file path
|
|
32
|
+
*/
|
|
33
|
+
function buildImportPath(packagePart) {
|
|
34
|
+
const isFilePath = packagePart.startsWith('.') || packagePart.startsWith('/');
|
|
35
|
+
if (isFilePath) {
|
|
36
|
+
// File path: convert to file:// URL for ESM import
|
|
37
|
+
const absolutePath = new URL(packagePart, pathToFileURL(process.cwd() + '/').href).href;
|
|
38
|
+
return `${absolutePath}/dist/mcp-collections.js`;
|
|
39
|
+
}
|
|
40
|
+
// Package name: import from node_modules
|
|
41
|
+
return `${packagePart}/mcp-collections`;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Load collection module with error handling
|
|
45
|
+
*/
|
|
46
|
+
async function loadCollectionModule(importPath, originalInput) {
|
|
47
|
+
try {
|
|
48
|
+
return (await import(importPath));
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
throw new Error(`Failed to load MCP collections from '${originalInput}':\n` +
|
|
52
|
+
` Import path: ${importPath}\n` +
|
|
53
|
+
` Error: ${error instanceof Error ? error.message : String(error)}\n\n` +
|
|
54
|
+
`Make sure the package:\n` +
|
|
55
|
+
` 1. Is installed (npm/bun install)\n` +
|
|
56
|
+
` 2. Exports 'mcp-collections' entrypoint\n` +
|
|
57
|
+
` 3. Has been built (bun run build)`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Select collection from module
|
|
62
|
+
*/
|
|
63
|
+
function selectCollection(module, collectionName, packagePart, originalInput) {
|
|
64
|
+
// Explicit collection requested
|
|
65
|
+
if (collectionName) {
|
|
66
|
+
return selectExplicitCollection(module, collectionName, packagePart);
|
|
67
|
+
}
|
|
68
|
+
// Auto-select collection
|
|
69
|
+
if (module.defaultCollection) {
|
|
70
|
+
return module.defaultCollection;
|
|
71
|
+
}
|
|
72
|
+
if (module.catAgents) {
|
|
73
|
+
return module.catAgents; // Legacy support
|
|
74
|
+
}
|
|
75
|
+
if (module.collections) {
|
|
76
|
+
return selectFromCollections(module.collections, packagePart);
|
|
77
|
+
}
|
|
78
|
+
throw new Error(`No MCP collections found in '${originalInput}'.\n` +
|
|
79
|
+
`Package must export:\n` +
|
|
80
|
+
` - collections: Record<string, MCPCollection>\n` +
|
|
81
|
+
` - defaultCollection: MCPCollection (optional)\n\n` +
|
|
82
|
+
`See: packages/vat-example-cat-agents/src/mcp-collections.ts`);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Select explicit collection by name
|
|
86
|
+
*/
|
|
87
|
+
function selectExplicitCollection(module, collectionName, packagePart) {
|
|
88
|
+
const collection = module.collections?.[collectionName];
|
|
89
|
+
if (!collection) {
|
|
90
|
+
const available = module.collections ? Object.keys(module.collections).join(', ') : 'none';
|
|
91
|
+
throw new Error(`Collection '${collectionName}' not found in '${packagePart}'.\n` +
|
|
92
|
+
`Available collections: ${available}\n\n` +
|
|
93
|
+
`Usage: ${packagePart}:${available.split(', ')[0] ?? collectionName}`);
|
|
94
|
+
}
|
|
95
|
+
return collection;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Select collection from collections map
|
|
99
|
+
*/
|
|
100
|
+
function selectFromCollections(collections, packagePart) {
|
|
101
|
+
const collectionNames = Object.keys(collections);
|
|
102
|
+
if (collectionNames.length === 1) {
|
|
103
|
+
const firstKey = collectionNames[0];
|
|
104
|
+
const collection = firstKey ? collections[firstKey] : undefined;
|
|
105
|
+
if (collection) {
|
|
106
|
+
return collection;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (collectionNames.length > 1) {
|
|
110
|
+
throw new Error(`Package '${packagePart}' exports multiple collections.\n` +
|
|
111
|
+
`Please specify which one to use:\n` +
|
|
112
|
+
collectionNames.map((name) => ` ${packagePart}:${name}`).join('\n'));
|
|
113
|
+
}
|
|
114
|
+
throw new Error(`No collections found in collections object`);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* List known packages with MCP collections
|
|
118
|
+
*
|
|
119
|
+
* Phase 1: Hardcoded known packages
|
|
120
|
+
* Phase 2+: Global registry or package.json discovery
|
|
121
|
+
*/
|
|
122
|
+
export function listKnownPackages() {
|
|
123
|
+
return [
|
|
124
|
+
{
|
|
125
|
+
name: '@vibe-agent-toolkit/vat-example-cat-agents',
|
|
126
|
+
description: 'Example cat breeding agents (haiku validator, photo analyzer)',
|
|
127
|
+
},
|
|
128
|
+
];
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=collections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../src/commands/mcp/collections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CA+E1C"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP command group - expose VAT agents via Model Context Protocol
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from 'commander';
|
|
5
|
+
import { listCollectionsCommand } from './list-collections.js';
|
|
6
|
+
import { serveCommand } from './serve.js';
|
|
7
|
+
/**
|
|
8
|
+
* Create MCP command group
|
|
9
|
+
*/
|
|
10
|
+
export function createMCPCommand() {
|
|
11
|
+
const mcp = new Command('mcp');
|
|
12
|
+
mcp
|
|
13
|
+
.description('Expose agents via Model Context Protocol (MCP) for Claude Desktop')
|
|
14
|
+
.addHelpText('after', `
|
|
15
|
+
Description:
|
|
16
|
+
MCP Gateway exposes VAT agents as tools that Claude Desktop and other
|
|
17
|
+
MCP clients can discover and use.
|
|
18
|
+
|
|
19
|
+
Phase 1: Package-scoped collections (@scope/package or ./path)
|
|
20
|
+
Phase 2+: Global discovery registry with versioning
|
|
21
|
+
|
|
22
|
+
Examples:
|
|
23
|
+
$ vat mcp list-collections # Show known packages
|
|
24
|
+
$ vat mcp serve @vibe-agent-toolkit/vat-example-cat-agents
|
|
25
|
+
$ vat mcp serve ./packages/vat-example-cat-agents # Local development
|
|
26
|
+
`);
|
|
27
|
+
// vat mcp list-collections
|
|
28
|
+
mcp
|
|
29
|
+
.command('list-collections')
|
|
30
|
+
.description('List known MCP agent packages')
|
|
31
|
+
.option('--debug', 'Enable debug logging')
|
|
32
|
+
.action(listCollectionsCommand);
|
|
33
|
+
// vat mcp serve <package>
|
|
34
|
+
mcp
|
|
35
|
+
.command('serve <package>')
|
|
36
|
+
.description('Start MCP server for agent package')
|
|
37
|
+
.option('--debug', 'Enable debug logging')
|
|
38
|
+
.option('--print-config', 'Print Claude Desktop configuration and exit')
|
|
39
|
+
.addHelpText('after', `
|
|
40
|
+
Description:
|
|
41
|
+
Starts an MCP stdio server exposing agents from the specified package.
|
|
42
|
+
The server runs until terminated (Ctrl+C).
|
|
43
|
+
|
|
44
|
+
Supports:
|
|
45
|
+
- Package names: @scope/package (from node_modules)
|
|
46
|
+
- File paths: ./path or /abs/path (local development)
|
|
47
|
+
- Collection suffix: package:collection-name (if multiple)
|
|
48
|
+
|
|
49
|
+
For Claude Desktop integration, add the generated config to:
|
|
50
|
+
~/.claude/config.json
|
|
51
|
+
|
|
52
|
+
Output:
|
|
53
|
+
- MCP protocol messages on stdout (for Claude Desktop)
|
|
54
|
+
- Logs to stderr (does not interfere with MCP protocol)
|
|
55
|
+
|
|
56
|
+
Examples:
|
|
57
|
+
# Production (from npm)
|
|
58
|
+
$ vat mcp serve @vibe-agent-toolkit/vat-example-cat-agents
|
|
59
|
+
|
|
60
|
+
# Local development (file path)
|
|
61
|
+
$ vat mcp serve ./packages/vat-example-cat-agents
|
|
62
|
+
|
|
63
|
+
# Show Claude Desktop config
|
|
64
|
+
$ vat mcp serve @vibe-agent-toolkit/vat-example-cat-agents --print-config
|
|
65
|
+
|
|
66
|
+
Claude Desktop Config:
|
|
67
|
+
Add to ~/.claude/config.json:
|
|
68
|
+
{
|
|
69
|
+
"mcpServers": {
|
|
70
|
+
"vat-agents": {
|
|
71
|
+
"command": "vat",
|
|
72
|
+
"args": ["mcp", "serve", "@vibe-agent-toolkit/vat-example-cat-agents"]
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
`)
|
|
77
|
+
.action(serveCommand);
|
|
78
|
+
return mcp;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/mcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAE/B,GAAG;SACA,WAAW,CAAC,mEAAmE,CAAC;SAChF,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;CAYL,CACI,CAAC;IAEJ,2BAA2B;IAC3B,GAAG;SACA,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAElC,0BAA0B;IAC1B,GAAG;SACA,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACvE,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCL,CACI;SACA,MAAM,CAAC,YAAY,CAAC,CAAC;IAExB,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP list-collections command - lists available agent collections
|
|
3
|
+
*/
|
|
4
|
+
export interface ListCollectionsOptions {
|
|
5
|
+
debug?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* List available MCP agent collections
|
|
9
|
+
*/
|
|
10
|
+
export declare function listCollectionsCommand(options: ListCollectionsOptions): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=list-collections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-collections.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/list-collections.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqCf"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP list-collections command - lists available agent collections
|
|
3
|
+
*/
|
|
4
|
+
import { handleCommandError } from '../../utils/command-error.js';
|
|
5
|
+
import { createLogger } from '../../utils/logger.js';
|
|
6
|
+
import { writeYamlOutput } from '../../utils/output.js';
|
|
7
|
+
import { listKnownPackages } from './collections.js';
|
|
8
|
+
/**
|
|
9
|
+
* List available MCP agent collections
|
|
10
|
+
*/
|
|
11
|
+
export async function listCollectionsCommand(options) {
|
|
12
|
+
const logger = createLogger(options.debug ? { debug: true } : {});
|
|
13
|
+
const startTime = Date.now();
|
|
14
|
+
try {
|
|
15
|
+
const packages = listKnownPackages();
|
|
16
|
+
const output = {
|
|
17
|
+
status: 'success',
|
|
18
|
+
packages: packages.map((p) => ({
|
|
19
|
+
name: p.name,
|
|
20
|
+
description: p.description,
|
|
21
|
+
})),
|
|
22
|
+
count: packages.length,
|
|
23
|
+
duration: `${Date.now() - startTime}ms`,
|
|
24
|
+
};
|
|
25
|
+
writeYamlOutput(output);
|
|
26
|
+
logger.info(`\nAvailable MCP agent packages:\n`);
|
|
27
|
+
for (const pkg of packages) {
|
|
28
|
+
logger.info(` ${pkg.name}`);
|
|
29
|
+
logger.info(` ${pkg.description}\n`);
|
|
30
|
+
}
|
|
31
|
+
logger.info(`Usage:`);
|
|
32
|
+
logger.info(` vat mcp serve <package> # Start MCP server`);
|
|
33
|
+
logger.info(` vat mcp serve <package> --print-config # Show Claude Desktop config\n`);
|
|
34
|
+
logger.info(`Examples:`);
|
|
35
|
+
logger.info(` vat mcp serve @vibe-agent-toolkit/vat-example-cat-agents`);
|
|
36
|
+
logger.info(` vat mcp serve ./packages/vat-example-cat-agents # Local development\n`);
|
|
37
|
+
process.exit(0);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
handleCommandError(error, logger, startTime, 'MCPListCollections');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=list-collections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-collections.js","sourceRoot":"","sources":["../../../src/commands/mcp/list-collections.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAMrD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAA+B;IAE/B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;QAErC,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;aAC3B,CAAC,CAAC;YACH,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI;SACxC,CAAC;QAEF,eAAe,CAAC,MAAM,CAAC,CAAC;QAExB,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC5E,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAExF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAExF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP serve command - exposes agent collections via MCP stdio transport
|
|
3
|
+
*/
|
|
4
|
+
export interface ServeCommandOptions {
|
|
5
|
+
debug?: boolean;
|
|
6
|
+
printConfig?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* MCP serve command
|
|
10
|
+
*/
|
|
11
|
+
export declare function serveCommand(packageOrPath: string, options: ServeCommandOptions): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=serve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/serve.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAmCD;;GAEG;AACH,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAwDf"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP serve command - exposes agent collections via MCP stdio transport
|
|
3
|
+
*/
|
|
4
|
+
import { StdioMCPGateway, ConsoleLogger, NoOpObservabilityProvider, } from '@vibe-agent-toolkit/gateway-mcp';
|
|
5
|
+
import { handleCommandError } from '../../utils/command-error.js';
|
|
6
|
+
import { createLogger } from '../../utils/logger.js';
|
|
7
|
+
import { resolveCollection } from './collections.js';
|
|
8
|
+
/**
|
|
9
|
+
* Custom observability provider with console logger
|
|
10
|
+
* Extends NoOpObservabilityProvider and overrides getLogger() to provide console output
|
|
11
|
+
*/
|
|
12
|
+
class ConsoleObservabilityProvider extends NoOpObservabilityProvider {
|
|
13
|
+
consoleLogger = new ConsoleLogger();
|
|
14
|
+
getLogger() {
|
|
15
|
+
return this.consoleLogger;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Generate Claude Desktop configuration for a package
|
|
20
|
+
*/
|
|
21
|
+
function generateClaudeDesktopConfig(packageOrPath) {
|
|
22
|
+
// Use package name as MCP server key (sanitize for JSON key)
|
|
23
|
+
const serverKey = packageOrPath
|
|
24
|
+
.replaceAll('@vibe-agent-toolkit/', 'vat-')
|
|
25
|
+
.replaceAll(/[^a-z0-9-]/gi, '-');
|
|
26
|
+
const config = {
|
|
27
|
+
mcpServers: {
|
|
28
|
+
[serverKey]: {
|
|
29
|
+
command: 'vat',
|
|
30
|
+
args: ['mcp', 'serve', packageOrPath],
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
return JSON.stringify(config, null, 2);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* MCP serve command
|
|
38
|
+
*/
|
|
39
|
+
export async function serveCommand(packageOrPath, options) {
|
|
40
|
+
const logger = createLogger(options.debug ? { debug: true } : {});
|
|
41
|
+
const startTime = Date.now();
|
|
42
|
+
try {
|
|
43
|
+
// Handle --print-config flag
|
|
44
|
+
if (options.printConfig) {
|
|
45
|
+
logger.info(`\nClaude Desktop configuration for '${packageOrPath}':\n`);
|
|
46
|
+
logger.info('Add this to ~/.claude/config.json:\n');
|
|
47
|
+
console.log(generateClaudeDesktopConfig(packageOrPath));
|
|
48
|
+
logger.info('\nThen restart Claude Desktop to load the MCP server.');
|
|
49
|
+
process.exit(0);
|
|
50
|
+
}
|
|
51
|
+
// Resolve collection from package name or file path
|
|
52
|
+
logger.debug(`Resolving MCP collection from: ${packageOrPath}`);
|
|
53
|
+
const collection = await resolveCollection(packageOrPath);
|
|
54
|
+
logger.debug(`Collection resolved: ${collection.name}`);
|
|
55
|
+
logger.debug(`Agents: ${collection.agents.map((a) => a.name).join(', ')}`);
|
|
56
|
+
// Create and start gateway
|
|
57
|
+
const gateway = new StdioMCPGateway({
|
|
58
|
+
agents: collection.agents.map((reg) => ({
|
|
59
|
+
name: reg.name,
|
|
60
|
+
agent: reg.agent,
|
|
61
|
+
})),
|
|
62
|
+
transport: 'stdio',
|
|
63
|
+
observability: new ConsoleObservabilityProvider(),
|
|
64
|
+
});
|
|
65
|
+
logger.info(`Starting MCP gateway: ${collection.agents.length} agent(s) (${Date.now() - startTime}ms)`);
|
|
66
|
+
await gateway.start();
|
|
67
|
+
// Setup graceful shutdown
|
|
68
|
+
process.on('SIGINT', () => {
|
|
69
|
+
logger.info('Shutting down MCP gateway...');
|
|
70
|
+
process.exit(0);
|
|
71
|
+
});
|
|
72
|
+
// Wait for stdin to close (stdio server lifetime = stdin lifetime)
|
|
73
|
+
await new Promise((resolve) => {
|
|
74
|
+
process.stdin.on('end', () => {
|
|
75
|
+
logger.info('Stdin closed, shutting down...');
|
|
76
|
+
resolve();
|
|
77
|
+
});
|
|
78
|
+
process.stdin.on('error', () => {
|
|
79
|
+
resolve();
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
handleCommandError(error, logger, startTime, 'MCPServe');
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=serve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/commands/mcp/serve.ts"],"names":[],"mappings":"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"}
|
package/docs/mcp.md
ADDED
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
# MCP Commands
|
|
2
|
+
|
|
3
|
+
Expose VAT agents via Model Context Protocol (MCP) for Claude Desktop and other MCP clients.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The MCP Gateway exposes VAT agents as tools that LLM systems can discover and invoke. This enables:
|
|
8
|
+
|
|
9
|
+
- **Claude Desktop integration** - Use agents through conversational UI
|
|
10
|
+
- **Agent orchestration** - LLMs coordinate multiple agents for complex tasks
|
|
11
|
+
- **Standardized discovery** - Clients can find and understand available tools
|
|
12
|
+
|
|
13
|
+
## Commands
|
|
14
|
+
|
|
15
|
+
### `vat mcp list-collections`
|
|
16
|
+
|
|
17
|
+
List known MCP agent packages.
|
|
18
|
+
|
|
19
|
+
**Usage:**
|
|
20
|
+
```bash
|
|
21
|
+
vat mcp list-collections [options]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Options:**
|
|
25
|
+
- `--debug` - Enable debug logging
|
|
26
|
+
|
|
27
|
+
**Output:**
|
|
28
|
+
Lists all known packages that export MCP agent collections.
|
|
29
|
+
|
|
30
|
+
**Example:**
|
|
31
|
+
```bash
|
|
32
|
+
$ vat mcp list-collections
|
|
33
|
+
|
|
34
|
+
Available MCP agent packages:
|
|
35
|
+
|
|
36
|
+
@vibe-agent-toolkit/vat-example-cat-agents
|
|
37
|
+
Example cat breeding agents (haiku validator, photo analyzer)
|
|
38
|
+
|
|
39
|
+
Usage:
|
|
40
|
+
vat mcp serve <package> # Start MCP server
|
|
41
|
+
vat mcp serve <package> --print-config # Show Claude Desktop config
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### `vat mcp serve`
|
|
45
|
+
|
|
46
|
+
Start an MCP stdio server exposing agents from a package.
|
|
47
|
+
|
|
48
|
+
**Usage:**
|
|
49
|
+
```bash
|
|
50
|
+
vat mcp serve <package> [options]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Arguments:**
|
|
54
|
+
- `<package>` - Package name or file path
|
|
55
|
+
- Package: `@scope/package` (from node_modules)
|
|
56
|
+
- File path: `./path` or `/abs/path` (local development)
|
|
57
|
+
- Collection suffix: `package:collection-name` (if multiple)
|
|
58
|
+
|
|
59
|
+
**Options:**
|
|
60
|
+
- `--debug` - Enable debug logging
|
|
61
|
+
- `--print-config` - Print Claude Desktop configuration and exit
|
|
62
|
+
|
|
63
|
+
**Behavior:**
|
|
64
|
+
- Runs until terminated (Ctrl+C)
|
|
65
|
+
- Writes MCP protocol messages to stdout
|
|
66
|
+
- Writes logs to stderr (does not interfere with protocol)
|
|
67
|
+
|
|
68
|
+
**Example - Production:**
|
|
69
|
+
```bash
|
|
70
|
+
vat mcp serve @vibe-agent-toolkit/vat-example-cat-agents
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Example - Local Development:**
|
|
74
|
+
```bash
|
|
75
|
+
vat mcp serve ./packages/vat-example-cat-agents
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Example - Show Configuration:**
|
|
79
|
+
```bash
|
|
80
|
+
$ vat mcp serve @vibe-agent-toolkit/vat-example-cat-agents --print-config
|
|
81
|
+
|
|
82
|
+
Claude Desktop configuration for '@vibe-agent-toolkit/vat-example-cat-agents':
|
|
83
|
+
|
|
84
|
+
Add this to ~/.claude/config.json:
|
|
85
|
+
|
|
86
|
+
{
|
|
87
|
+
"mcpServers": {
|
|
88
|
+
"vat-example-cat-agents": {
|
|
89
|
+
"command": "vat",
|
|
90
|
+
"args": ["mcp", "serve", "@vibe-agent-toolkit/vat-example-cat-agents"]
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
Then restart Claude Desktop to load the MCP server.
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Claude Desktop Integration
|
|
99
|
+
|
|
100
|
+
### Configuration File
|
|
101
|
+
|
|
102
|
+
MCP servers are configured in:
|
|
103
|
+
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
104
|
+
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
105
|
+
- **Linux:** `~/.config/Claude/claude_desktop_config.json`
|
|
106
|
+
|
|
107
|
+
### Basic Setup
|
|
108
|
+
|
|
109
|
+
1. **Generate configuration:**
|
|
110
|
+
```bash
|
|
111
|
+
vat mcp serve <package> --print-config
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
2. **Add to Claude Desktop config:**
|
|
115
|
+
Copy the generated JSON to your `claude_desktop_config.json`
|
|
116
|
+
|
|
117
|
+
3. **Restart Claude Desktop:**
|
|
118
|
+
Completely quit and reopen the application
|
|
119
|
+
|
|
120
|
+
4. **Verify connection:**
|
|
121
|
+
Check Claude Desktop developer console (View → Developer → Toggle Developer Tools)
|
|
122
|
+
|
|
123
|
+
### Development Setup
|
|
124
|
+
|
|
125
|
+
For local development with unreleased code:
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"mcpServers": {
|
|
130
|
+
"my-agents-dev": {
|
|
131
|
+
"command": "node",
|
|
132
|
+
"args": [
|
|
133
|
+
"/path/to/vibe-agent-toolkit/packages/cli/dist/bin/vat",
|
|
134
|
+
"mcp",
|
|
135
|
+
"serve",
|
|
136
|
+
"@my-scope/my-agents"
|
|
137
|
+
],
|
|
138
|
+
"env": {
|
|
139
|
+
"VAT_ROOT_DIR": "/path/to/vibe-agent-toolkit"
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
The `VAT_ROOT_DIR` environment variable tells the wrapper to use local development code.
|
|
147
|
+
|
|
148
|
+
## Package Structure
|
|
149
|
+
|
|
150
|
+
MCP agent packages must export collections via the `/mcp-collections` entrypoint.
|
|
151
|
+
|
|
152
|
+
### Example: `src/mcp-collections.ts`
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
import type { Agent, OneShotAgentOutput } from '@vibe-agent-toolkit/agent-schema';
|
|
156
|
+
import { createSuccess } from '@vibe-agent-toolkit/agent-schema';
|
|
157
|
+
|
|
158
|
+
export interface MCPAgentRegistration {
|
|
159
|
+
name: string;
|
|
160
|
+
agent: Agent<unknown, OneShotAgentOutput<unknown, string>>;
|
|
161
|
+
description: string;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export interface MCPCollection {
|
|
165
|
+
name: string;
|
|
166
|
+
description: string;
|
|
167
|
+
agents: MCPAgentRegistration[];
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// Wrap stateless agents for MCP
|
|
171
|
+
function wrapStatelessAgent<TInput, TOutput>(
|
|
172
|
+
agent: { name: string; manifest: unknown; execute: (input: TInput) => TOutput | Promise<TOutput> }
|
|
173
|
+
): Agent<TInput, OneShotAgentOutput<TOutput, string>> {
|
|
174
|
+
return {
|
|
175
|
+
name: agent.name,
|
|
176
|
+
manifest: agent.manifest as any,
|
|
177
|
+
execute: async (input: TInput) => {
|
|
178
|
+
const data = await Promise.resolve(agent.execute(input));
|
|
179
|
+
return {
|
|
180
|
+
result: createSuccess(data),
|
|
181
|
+
};
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export const myAgents: MCPCollection = {
|
|
187
|
+
name: 'my-agents',
|
|
188
|
+
description: 'My agent collection',
|
|
189
|
+
agents: [
|
|
190
|
+
{
|
|
191
|
+
name: 'my-agent',
|
|
192
|
+
agent: wrapStatelessAgent(myAgent),
|
|
193
|
+
description: 'Agent description',
|
|
194
|
+
},
|
|
195
|
+
],
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
export const collections: Record<string, MCPCollection> = {
|
|
199
|
+
'my-agents': myAgents,
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
export const defaultCollection = myAgents;
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Example: `package.json`
|
|
206
|
+
|
|
207
|
+
```json
|
|
208
|
+
{
|
|
209
|
+
"name": "@my-scope/my-agents",
|
|
210
|
+
"exports": {
|
|
211
|
+
".": {
|
|
212
|
+
"types": "./dist/index.d.ts",
|
|
213
|
+
"default": "./dist/index.js"
|
|
214
|
+
},
|
|
215
|
+
"./mcp-collections": {
|
|
216
|
+
"types": "./dist/mcp-collections.d.ts",
|
|
217
|
+
"default": "./dist/mcp-collections.js"
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Troubleshooting
|
|
224
|
+
|
|
225
|
+
### Server Won't Start
|
|
226
|
+
|
|
227
|
+
**Check logs:**
|
|
228
|
+
- **macOS:** `~/Library/Logs/Claude/mcp-server-<name>.log`
|
|
229
|
+
- **Windows:** `%APPDATA%\Claude\logs\mcp-server-<name>.log`
|
|
230
|
+
- **Linux:** `~/.config/Claude/logs/mcp-server-<name>.log`
|
|
231
|
+
|
|
232
|
+
**Common issues:**
|
|
233
|
+
1. **Package not installed:** Run `npm install <package>` or `bun install <package>`
|
|
234
|
+
2. **Package not built:** Run `bun run build` in development workspace
|
|
235
|
+
3. **Wrong path:** Verify command path in config matches your setup
|
|
236
|
+
4. **Missing entrypoint:** Ensure package exports `/mcp-collections`
|
|
237
|
+
|
|
238
|
+
### Tools Not Appearing
|
|
239
|
+
|
|
240
|
+
**Verify server is running:**
|
|
241
|
+
1. Open Claude Desktop developer console
|
|
242
|
+
2. Look for MCP connection logs
|
|
243
|
+
3. Check for error messages
|
|
244
|
+
|
|
245
|
+
**Test server manually:**
|
|
246
|
+
```bash
|
|
247
|
+
# Send initialize request
|
|
248
|
+
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | vat mcp serve <package>
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
Should receive JSON-RPC response on stdout.
|
|
252
|
+
|
|
253
|
+
### Development Mode Not Working
|
|
254
|
+
|
|
255
|
+
**Ensure VAT_ROOT_DIR is set:**
|
|
256
|
+
```bash
|
|
257
|
+
# Test in terminal first
|
|
258
|
+
VAT_ROOT_DIR=/path/to/workspace vat --version
|
|
259
|
+
# Should show "-dev" suffix
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
**Check config includes env:**
|
|
263
|
+
```json
|
|
264
|
+
{
|
|
265
|
+
"env": {
|
|
266
|
+
"VAT_ROOT_DIR": "/absolute/path/to/workspace"
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
## Architecture
|
|
272
|
+
|
|
273
|
+
### Stdio Transport
|
|
274
|
+
|
|
275
|
+
The MCP server uses stdio transport for Claude Desktop:
|
|
276
|
+
- **stdin** - Receives JSON-RPC requests
|
|
277
|
+
- **stdout** - Sends JSON-RPC responses (protocol messages ONLY)
|
|
278
|
+
- **stderr** - Logs, debug output, errors
|
|
279
|
+
|
|
280
|
+
### Process Lifetime
|
|
281
|
+
|
|
282
|
+
The server runs until stdin closes:
|
|
283
|
+
1. Claude Desktop spawns the process
|
|
284
|
+
2. Server waits for JSON-RPC messages on stdin
|
|
285
|
+
3. Server sends responses on stdout
|
|
286
|
+
4. When stdin closes, server terminates
|
|
287
|
+
|
|
288
|
+
### Protocol Compliance
|
|
289
|
+
|
|
290
|
+
All implementations must:
|
|
291
|
+
- Write ONLY JSON-RPC to stdout
|
|
292
|
+
- Write all logs to stderr
|
|
293
|
+
- Handle stdio cleanup properly
|
|
294
|
+
- Support graceful shutdown on SIGINT
|
|
295
|
+
|
|
296
|
+
## Current Implementation
|
|
297
|
+
|
|
298
|
+
**Supported:**
|
|
299
|
+
- ✅ Stateless agents (pure function tools, one-shot LLM analyzers)
|
|
300
|
+
- ✅ Package-scoped collections
|
|
301
|
+
- ✅ Claude Desktop integration
|
|
302
|
+
- ✅ Local development with VAT_ROOT_DIR
|
|
303
|
+
|
|
304
|
+
**Not Yet Supported:**
|
|
305
|
+
- ❌ Stateful agents (conversational assistants)
|
|
306
|
+
- ❌ Global discovery registry
|
|
307
|
+
- ❌ HTTP transport
|
|
308
|
+
- ❌ WebSocket transport
|
|
309
|
+
- ❌ Multi-session management
|
|
310
|
+
|
|
311
|
+
See [MCP Gateway README](../../gateway-mcp/README.md) for planned features.
|
|
312
|
+
|
|
313
|
+
## See Also
|
|
314
|
+
|
|
315
|
+
- [MCP Gateway README](../../gateway-mcp/README.md)
|
|
316
|
+
- [Example Cat Agents](../../vat-example-cat-agents/README.md)
|
|
317
|
+
- [VAT Architecture](../../../docs/architecture/README.md)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-agent-toolkit/cli",
|
|
3
|
-
"version": "0.1.1",
|
|
3
|
+
"version": "0.1.2-rc.1",
|
|
4
4
|
"description": "Command-line interface for vibe-agent-toolkit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -40,13 +40,16 @@
|
|
|
40
40
|
"license": "MIT",
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@anthropic-ai/sdk": "^0.71.2",
|
|
43
|
-
"@vibe-agent-toolkit/agent-config": "0.1.1",
|
|
44
|
-
"@vibe-agent-toolkit/
|
|
45
|
-
"@vibe-agent-toolkit/
|
|
46
|
-
"@vibe-agent-toolkit/
|
|
47
|
-
"@vibe-agent-toolkit/
|
|
48
|
-
"@vibe-agent-toolkit/
|
|
49
|
-
"@vibe-agent-toolkit/
|
|
43
|
+
"@vibe-agent-toolkit/agent-config": "0.1.2-rc.1",
|
|
44
|
+
"@vibe-agent-toolkit/agent-schema": "0.1.2-rc.1",
|
|
45
|
+
"@vibe-agent-toolkit/discovery": "0.1.2-rc.1",
|
|
46
|
+
"@vibe-agent-toolkit/gateway-mcp": "0.1.2-rc.1",
|
|
47
|
+
"@vibe-agent-toolkit/rag": "0.1.2-rc.1",
|
|
48
|
+
"@vibe-agent-toolkit/rag-lancedb": "0.1.2-rc.1",
|
|
49
|
+
"@vibe-agent-toolkit/resources": "0.1.2-rc.1",
|
|
50
|
+
"@vibe-agent-toolkit/runtime-claude-skills": "0.1.2-rc.1",
|
|
51
|
+
"@vibe-agent-toolkit/utils": "0.1.2-rc.1",
|
|
52
|
+
"@vibe-agent-toolkit/vat-example-cat-agents": "0.1.2-rc.1",
|
|
50
53
|
"commander": "^12.1.0",
|
|
51
54
|
"js-yaml": "^4.1.0",
|
|
52
55
|
"semver": "^7.7.3",
|