mcpgraph 0.1.25 → 0.1.27
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/config/loader.d.ts +1 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +17 -4
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +25 -25
- package/dist/config/schema.js +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/config/serializer.d.ts +1 -0
- package/dist/config/serializer.d.ts.map +1 -1
- package/dist/config/serializer.js +20 -1
- package/dist/config/serializer.js.map +1 -1
- package/dist/main.js +55 -0
- package/dist/main.js.map +1 -1
- package/dist/toolkit-main.js +55 -0
- package/dist/toolkit-main.js.map +1 -1
- package/dist/types/config.d.ts +8 -1
- package/dist/types/config.d.ts.map +1 -1
- package/docs/building.md +84 -0
- package/package.json +1 -1
package/dist/config/loader.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { McpGraphConfig, ServerConfig } from "../types/config.js";
|
|
|
7
7
|
* @param graphFilePath - Path to the YAML graph configuration file
|
|
8
8
|
* @param mcpServersFromFile - Optional mcpServers loaded from an MCP JSON file
|
|
9
9
|
* @returns McpGraphConfig with merged mcpServers (graph servers override mcp file servers)
|
|
10
|
+
* Each server config is tagged with _source: 'graph' | 'external' to track origin
|
|
10
11
|
*/
|
|
11
12
|
export declare function loadConfig(graphFilePath: string, mcpServersFromFile?: Record<string, ServerConfig>): McpGraphConfig;
|
|
12
13
|
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAA0B,MAAM,oBAAoB,CAAC;AAE/F;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,aAAa,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAChD,cAAc,CA0BhB"}
|
package/dist/config/loader.js
CHANGED
|
@@ -7,15 +7,28 @@ import { parseYamlConfig } from "./serializer.js";
|
|
|
7
7
|
* @param graphFilePath - Path to the YAML graph configuration file
|
|
8
8
|
* @param mcpServersFromFile - Optional mcpServers loaded from an MCP JSON file
|
|
9
9
|
* @returns McpGraphConfig with merged mcpServers (graph servers override mcp file servers)
|
|
10
|
+
* Each server config is tagged with _source: 'graph' | 'external' to track origin
|
|
10
11
|
*/
|
|
11
12
|
export function loadConfig(graphFilePath, mcpServersFromFile) {
|
|
12
13
|
const config = parseYamlConfig(graphFilePath);
|
|
14
|
+
// Tag servers from graph file with _source: 'graph'
|
|
15
|
+
if (config.mcpServers) {
|
|
16
|
+
for (const serverConfig of Object.values(config.mcpServers)) {
|
|
17
|
+
serverConfig._source = 'graph';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
13
20
|
// Merge mcpServers: mcp file servers first, then graph servers (graph overrides)
|
|
14
21
|
if (mcpServersFromFile) {
|
|
15
|
-
config.mcpServers
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
22
|
+
if (!config.mcpServers) {
|
|
23
|
+
config.mcpServers = {};
|
|
24
|
+
}
|
|
25
|
+
// Add external servers first (they'll be overridden by graph servers if names match)
|
|
26
|
+
for (const [name, serverConfig] of Object.entries(mcpServersFromFile)) {
|
|
27
|
+
if (!(name in config.mcpServers)) {
|
|
28
|
+
config.mcpServers[name] = serverConfig;
|
|
29
|
+
config.mcpServers[name]._source = 'external';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
19
32
|
}
|
|
20
33
|
return config;
|
|
21
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACxB,aAAqB,EACrB,kBAAiD;IAEjD,MAAM,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAE9C,oDAAoD;IACpD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QACzB,CAAC;QAED,qFAAqF;QACrF,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;gBACvC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -128,7 +128,7 @@ export declare const mcpGraphConfigSchema: z.ZodObject<{
|
|
|
128
128
|
maxNodeExecutions?: number | undefined;
|
|
129
129
|
maxExecutionTimeMs?: number | undefined;
|
|
130
130
|
}>>;
|
|
131
|
-
tools: z.ZodArray<z.ZodObject<{
|
|
131
|
+
tools: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
132
132
|
name: z.ZodString;
|
|
133
133
|
description: z.ZodString;
|
|
134
134
|
inputSchema: z.ZodObject<{
|
|
@@ -403,7 +403,7 @@ export declare const mcpGraphConfigSchema: z.ZodObject<{
|
|
|
403
403
|
}[];
|
|
404
404
|
next?: string | undefined;
|
|
405
405
|
})[];
|
|
406
|
-
}>, "many"
|
|
406
|
+
}>, "many">>;
|
|
407
407
|
}, "strip", z.ZodTypeAny, {
|
|
408
408
|
version: string;
|
|
409
409
|
server: {
|
|
@@ -494,7 +494,28 @@ export declare const mcpGraphConfigSchema: z.ZodObject<{
|
|
|
494
494
|
title?: string | undefined;
|
|
495
495
|
instructions?: string | undefined;
|
|
496
496
|
};
|
|
497
|
-
|
|
497
|
+
mcpServers?: Record<string, {
|
|
498
|
+
command: string;
|
|
499
|
+
args: string[];
|
|
500
|
+
type?: "stdio" | undefined;
|
|
501
|
+
cwd?: string | undefined;
|
|
502
|
+
} | {
|
|
503
|
+
type: "sse";
|
|
504
|
+
url: string;
|
|
505
|
+
headers?: Record<string, string> | undefined;
|
|
506
|
+
eventSourceInit?: Record<string, unknown> | undefined;
|
|
507
|
+
requestInit?: Record<string, unknown> | undefined;
|
|
508
|
+
} | {
|
|
509
|
+
type: "streamableHttp";
|
|
510
|
+
url: string;
|
|
511
|
+
headers?: Record<string, string> | undefined;
|
|
512
|
+
requestInit?: Record<string, unknown> | undefined;
|
|
513
|
+
}> | undefined;
|
|
514
|
+
executionLimits?: {
|
|
515
|
+
maxNodeExecutions?: number | undefined;
|
|
516
|
+
maxExecutionTimeMs?: number | undefined;
|
|
517
|
+
} | undefined;
|
|
518
|
+
tools?: {
|
|
498
519
|
description: string;
|
|
499
520
|
name: string;
|
|
500
521
|
inputSchema: {
|
|
@@ -546,28 +567,7 @@ export declare const mcpGraphConfigSchema: z.ZodObject<{
|
|
|
546
567
|
}[];
|
|
547
568
|
next?: string | undefined;
|
|
548
569
|
})[];
|
|
549
|
-
}[];
|
|
550
|
-
mcpServers?: Record<string, {
|
|
551
|
-
command: string;
|
|
552
|
-
args: string[];
|
|
553
|
-
type?: "stdio" | undefined;
|
|
554
|
-
cwd?: string | undefined;
|
|
555
|
-
} | {
|
|
556
|
-
type: "sse";
|
|
557
|
-
url: string;
|
|
558
|
-
headers?: Record<string, string> | undefined;
|
|
559
|
-
eventSourceInit?: Record<string, unknown> | undefined;
|
|
560
|
-
requestInit?: Record<string, unknown> | undefined;
|
|
561
|
-
} | {
|
|
562
|
-
type: "streamableHttp";
|
|
563
|
-
url: string;
|
|
564
|
-
headers?: Record<string, string> | undefined;
|
|
565
|
-
requestInit?: Record<string, unknown> | undefined;
|
|
566
|
-
}> | undefined;
|
|
567
|
-
executionLimits?: {
|
|
568
|
-
maxNodeExecutions?: number | undefined;
|
|
569
|
-
maxExecutionTimeMs?: number | undefined;
|
|
570
|
-
} | undefined;
|
|
570
|
+
}[] | undefined;
|
|
571
571
|
}>;
|
|
572
572
|
export type McpGraphConfigSchema = z.infer<typeof mcpGraphConfigSchema>;
|
|
573
573
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/config/schema.js
CHANGED
|
@@ -103,6 +103,6 @@ export const mcpGraphConfigSchema = z.object({
|
|
|
103
103
|
server: serverMetadataSchema,
|
|
104
104
|
mcpServers: z.record(serverConfigSchema).optional(),
|
|
105
105
|
executionLimits: executionLimitsSchema.optional(),
|
|
106
|
-
tools: z.array(toolDefinitionSchema),
|
|
106
|
+
tools: z.array(toolDefinitionSchema).default([]),
|
|
107
107
|
});
|
|
108
108
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export declare function parseYamlConfig(filePath: string): McpGraphConfig;
|
|
|
13
13
|
* Write McpGraphConfig object to YAML file
|
|
14
14
|
* @param filePath - Path to the YAML configuration file
|
|
15
15
|
* @param config - McpGraphConfig object to write
|
|
16
|
+
* Only servers with _source: 'graph' are serialized (external servers are excluded)
|
|
16
17
|
*/
|
|
17
18
|
export declare function writeYamlConfig(filePath: string, config: McpGraphConfig): void;
|
|
18
19
|
//# sourceMappingURL=serializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/config/serializer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CA6BhE;AAED
|
|
1
|
+
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/config/serializer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CA6BhE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAuC9E"}
|
|
@@ -40,11 +40,30 @@ export function parseYamlConfig(filePath) {
|
|
|
40
40
|
* Write McpGraphConfig object to YAML file
|
|
41
41
|
* @param filePath - Path to the YAML configuration file
|
|
42
42
|
* @param config - McpGraphConfig object to write
|
|
43
|
+
* Only servers with _source: 'graph' are serialized (external servers are excluded)
|
|
43
44
|
*/
|
|
44
45
|
export function writeYamlConfig(filePath, config) {
|
|
45
46
|
try {
|
|
47
|
+
// Create a copy for serialization, filtering out external servers
|
|
48
|
+
const configToWrite = {
|
|
49
|
+
...config,
|
|
50
|
+
mcpServers: undefined,
|
|
51
|
+
};
|
|
52
|
+
if (config.mcpServers) {
|
|
53
|
+
for (const [name, serverConfig] of Object.entries(config.mcpServers)) {
|
|
54
|
+
// Only include servers from graph file (or undefined source, for backwards compatibility)
|
|
55
|
+
if (serverConfig._source !== 'external') {
|
|
56
|
+
// Create clean copy without _source metadata
|
|
57
|
+
const { _source, ...cleanConfig } = serverConfig;
|
|
58
|
+
if (!configToWrite.mcpServers) {
|
|
59
|
+
configToWrite.mcpServers = {};
|
|
60
|
+
}
|
|
61
|
+
configToWrite.mcpServers[name] = cleanConfig;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
46
65
|
// Use js-yaml dump with readable formatting
|
|
47
|
-
const yamlString = dump(
|
|
66
|
+
const yamlString = dump(configToWrite, {
|
|
48
67
|
indent: 2,
|
|
49
68
|
lineWidth: -1, // No line wrapping
|
|
50
69
|
noRefs: true, // Don't use YAML references
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/config/serializer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAY,CAAC;QAE7C,0BAA0B;QAC1B,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAErD,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,SAA2B,CAAC,CAAC;QAChF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,EAAE,CAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,gEAAgE,aAAa,EAAE,CAChF,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,SAA2B,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/config/serializer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAY,CAAC;QAE7C,0BAA0B;QAC1B,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAErD,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,SAA2B,CAAC,CAAC;QAChF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,EAAE,CAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,gEAAgE,aAAa,EAAE,CAChF,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,SAA2B,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,MAAsB;IACtE,IAAI,CAAC;QACH,kEAAkE;QAClE,MAAM,aAAa,GAAmB;YACpC,GAAG,MAAM;YACT,UAAU,EAAE,SAAS;SACtB,CAAC;QAEF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrE,0FAA0F;gBAC1F,IAAI,YAAY,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACxC,6CAA6C;oBAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC;oBACjD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;wBAC9B,aAAa,CAAC,UAAU,GAAG,EAAE,CAAC;oBAChC,CAAC;oBACD,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE;YACrC,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC,CAAC,EAAE,mBAAmB;YAClC,MAAM,EAAE,IAAI,EAAE,4BAA4B;YAC1C,QAAQ,EAAE,KAAK,EAAE,qBAAqB;SACvC,CAAC,CAAC;QAEH,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
|
package/dist/main.js
CHANGED
|
@@ -9,6 +9,29 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
|
9
9
|
import { ListToolsRequestSchema, CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
10
10
|
import { parseArgs } from 'node:util';
|
|
11
11
|
import { loadMcpServers } from './config/mcp-loader.js';
|
|
12
|
+
import { readFileSync } from 'node:fs';
|
|
13
|
+
import { fileURLToPath } from 'node:url';
|
|
14
|
+
import { dirname, join } from 'node:path';
|
|
15
|
+
// Get version from package.json
|
|
16
|
+
let version = 'unknown';
|
|
17
|
+
try {
|
|
18
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
19
|
+
const __dirname = dirname(__filename);
|
|
20
|
+
const packageJsonPath = join(__dirname, '..', 'package.json');
|
|
21
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
22
|
+
version = packageJson.version;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
// Fallback: try reading from project root
|
|
26
|
+
try {
|
|
27
|
+
const packageJsonPath = join(process.cwd(), 'package.json');
|
|
28
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
29
|
+
version = packageJson.version;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
// If both fail, version remains 'unknown'
|
|
33
|
+
}
|
|
34
|
+
}
|
|
12
35
|
const { values } = parseArgs({
|
|
13
36
|
options: {
|
|
14
37
|
graph: {
|
|
@@ -20,8 +43,40 @@ const { values } = parseArgs({
|
|
|
20
43
|
type: 'string',
|
|
21
44
|
short: 'm',
|
|
22
45
|
},
|
|
46
|
+
help: {
|
|
47
|
+
type: 'boolean',
|
|
48
|
+
short: 'h',
|
|
49
|
+
},
|
|
50
|
+
version: {
|
|
51
|
+
type: 'boolean',
|
|
52
|
+
short: 'v',
|
|
53
|
+
},
|
|
23
54
|
},
|
|
24
55
|
});
|
|
56
|
+
// Handle help and version flags
|
|
57
|
+
if (values.version) {
|
|
58
|
+
console.log(version);
|
|
59
|
+
process.exit(0);
|
|
60
|
+
}
|
|
61
|
+
if (values.help) {
|
|
62
|
+
console.log(`mcpGraph v${version}
|
|
63
|
+
|
|
64
|
+
MCP server that executes directed graphs of MCP server calls.
|
|
65
|
+
|
|
66
|
+
Usage: mcpgraph [options]
|
|
67
|
+
|
|
68
|
+
Options:
|
|
69
|
+
-g, --graph <path> Path to graph configuration file (default: config.yaml)
|
|
70
|
+
-m, --mcp <path> Path to MCP servers configuration file
|
|
71
|
+
-h, --help Show this help message
|
|
72
|
+
-v, --version Show version number
|
|
73
|
+
|
|
74
|
+
Examples:
|
|
75
|
+
mcpgraph -g ./my-graph.yaml
|
|
76
|
+
mcpgraph -g ./my-graph.yaml -m ./mcp.json
|
|
77
|
+
`);
|
|
78
|
+
process.exit(0);
|
|
79
|
+
}
|
|
25
80
|
async function main() {
|
|
26
81
|
try {
|
|
27
82
|
const configPath = values.graph || 'config.yaml';
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/dist/toolkit-main.js
CHANGED
|
@@ -10,6 +10,29 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
|
10
10
|
import { ListToolsRequestSchema, CallToolRequestSchema, McpError } from '@modelcontextprotocol/sdk/types.js';
|
|
11
11
|
import { parseArgs } from 'node:util';
|
|
12
12
|
import { loadMcpServers } from './config/mcp-loader.js';
|
|
13
|
+
import { readFileSync } from 'node:fs';
|
|
14
|
+
import { fileURLToPath } from 'node:url';
|
|
15
|
+
import { dirname, join } from 'node:path';
|
|
16
|
+
// Get version from package.json
|
|
17
|
+
let version = 'unknown';
|
|
18
|
+
try {
|
|
19
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
20
|
+
const __dirname = dirname(__filename);
|
|
21
|
+
const packageJsonPath = join(__dirname, '..', 'package.json');
|
|
22
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
23
|
+
version = packageJson.version;
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
// Fallback: try reading from project root
|
|
27
|
+
try {
|
|
28
|
+
const packageJsonPath = join(process.cwd(), 'package.json');
|
|
29
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
30
|
+
version = packageJson.version;
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
// If both fail, version remains 'unknown'
|
|
34
|
+
}
|
|
35
|
+
}
|
|
13
36
|
const { values } = parseArgs({
|
|
14
37
|
options: {
|
|
15
38
|
graph: {
|
|
@@ -21,8 +44,40 @@ const { values } = parseArgs({
|
|
|
21
44
|
type: 'string',
|
|
22
45
|
short: 'm',
|
|
23
46
|
},
|
|
47
|
+
help: {
|
|
48
|
+
type: 'boolean',
|
|
49
|
+
short: 'h',
|
|
50
|
+
},
|
|
51
|
+
version: {
|
|
52
|
+
type: 'boolean',
|
|
53
|
+
short: 'v',
|
|
54
|
+
},
|
|
24
55
|
},
|
|
25
56
|
});
|
|
57
|
+
// Handle help and version flags
|
|
58
|
+
if (values.version) {
|
|
59
|
+
console.log(version);
|
|
60
|
+
process.exit(0);
|
|
61
|
+
}
|
|
62
|
+
if (values.help) {
|
|
63
|
+
console.log(`mcpGraphToolkit v${version}
|
|
64
|
+
|
|
65
|
+
MCP server for building, testing, and running mcpGraph tools.
|
|
66
|
+
|
|
67
|
+
Usage: mcpgraphtoolkit [options]
|
|
68
|
+
|
|
69
|
+
Options:
|
|
70
|
+
-g, --graph <path> Path to graph configuration file (default: config.yaml)
|
|
71
|
+
-m, --mcp <path> Path to MCP servers configuration file (required for MCP discovery tools)
|
|
72
|
+
-h, --help Show this help message
|
|
73
|
+
-v, --version Show version number
|
|
74
|
+
|
|
75
|
+
Examples:
|
|
76
|
+
mcpgraphtoolkit -g ./my-graph.yaml
|
|
77
|
+
mcpgraphtoolkit -g ./my-graph.yaml -m ./mcp.json
|
|
78
|
+
`);
|
|
79
|
+
process.exit(0);
|
|
80
|
+
}
|
|
26
81
|
let toolkitApi = null;
|
|
27
82
|
async function main() {
|
|
28
83
|
try {
|
package/dist/toolkit-main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolkit-main.js","sourceRoot":"","sources":["../src/toolkit-main.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC7G,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"toolkit-main.js","sourceRoot":"","sources":["../src/toolkit-main.ts"],"names":[],"mappings":"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"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface ExecutionLimits {
|
|
|
8
8
|
export interface McpGraphConfig {
|
|
9
9
|
version: string;
|
|
10
10
|
server: ServerMetadata;
|
|
11
|
-
mcpServers?: Record<string,
|
|
11
|
+
mcpServers?: Record<string, ServerConfigWithSource>;
|
|
12
12
|
executionLimits?: ExecutionLimits;
|
|
13
13
|
tools: ToolDefinition[];
|
|
14
14
|
}
|
|
@@ -19,6 +19,13 @@ export interface ServerMetadata {
|
|
|
19
19
|
instructions?: string;
|
|
20
20
|
}
|
|
21
21
|
export type ServerConfig = StdioServerConfig | SseServerConfig | StreamableHttpServerConfig;
|
|
22
|
+
/**
|
|
23
|
+
* ServerConfig with optional source tracking metadata
|
|
24
|
+
* Used internally to track whether a server came from the graph file or external MCP file
|
|
25
|
+
*/
|
|
26
|
+
export type ServerConfigWithSource = ServerConfig & {
|
|
27
|
+
_source?: 'graph' | 'external';
|
|
28
|
+
};
|
|
22
29
|
export interface StdioServerConfig {
|
|
23
30
|
type?: "stdio";
|
|
24
31
|
command: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|
package/docs/building.md
CHANGED
|
@@ -98,3 +98,87 @@ Manage a set of graphs and their tools
|
|
|
98
98
|
What about MCP servers that require a secret or OAuth (where the agent can talk to the MCP server)
|
|
99
99
|
- How can we talk to that MCP server securely without doing an agent tool call (which would defeat our purpose)
|
|
100
100
|
- This is where being an agent gateway (especially a "smart" on that is managing tool disclosure/aggregation/etc) would be handy
|
|
101
|
+
|
|
102
|
+
## Demo
|
|
103
|
+
|
|
104
|
+
New project for Claude Code - toolkitTest
|
|
105
|
+
|
|
106
|
+
graph.yaml - empty graph
|
|
107
|
+
|
|
108
|
+
```yaml
|
|
109
|
+
version: "1.0"
|
|
110
|
+
|
|
111
|
+
# MCP Server Metadata
|
|
112
|
+
server:
|
|
113
|
+
name: "utils"
|
|
114
|
+
version: "1.0.0"
|
|
115
|
+
title: "Utility tools implemented as mcpGraphs"
|
|
116
|
+
instructions: "This server provides file utility tools created by this agent - always use these tools first when applicable."
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
tools.json - mcpServers for mcpGrahToolkit to use
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"mcpServers": {
|
|
124
|
+
"fetch": {
|
|
125
|
+
"catalogId": "fetch:95ec80cc",
|
|
126
|
+
"type": "stdio",
|
|
127
|
+
"command": "uvx",
|
|
128
|
+
"args": [
|
|
129
|
+
"-q",
|
|
130
|
+
"mcp-server-fetch"
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
"filesystem": {
|
|
134
|
+
"catalogId": "filesystem:df30a77e",
|
|
135
|
+
"type": "stdio",
|
|
136
|
+
"command": "npx",
|
|
137
|
+
"args": [
|
|
138
|
+
"-y",
|
|
139
|
+
"@modelcontextprotocol/server-filesystem",
|
|
140
|
+
"/Users/bob/Documents/GitHub/teamspark-workbench/test_files"
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
.mcp.json - Claude Code project level MCP config
|
|
148
|
+
|
|
149
|
+
```json
|
|
150
|
+
{
|
|
151
|
+
"mcpServers": {
|
|
152
|
+
"mcpgraphtoolkit": {
|
|
153
|
+
"command": "mcpgraphtoolkit",
|
|
154
|
+
"args": ["-g", "/path/to/your/graph.yaml", "-m", "/path/to/mcp.json"]
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
Install mcpgraph globally, verify it's installed
|
|
162
|
+
Install mcpGraphToolkit SKILL.md in agent
|
|
163
|
+
Verify: No fetch or filesystem tool installed in agent
|
|
164
|
+
Install mcpGraphToolkit in agent
|
|
165
|
+
- place agent.yaml and mcp.json where installed mcpGraphToolkit can see them
|
|
166
|
+
- install
|
|
167
|
+
Prompt to create new tool
|
|
168
|
+
|
|
169
|
+
Prompt (two steps):
|
|
170
|
+
|
|
171
|
+
Create an mcpGraph tool to download a URL to a local file in the downloads directory of this project and return the filename and size
|
|
172
|
+
|
|
173
|
+
Use that tool to download https://world.hey.com/dhh/pay-yourself-first-e86f8147
|
|
174
|
+
|
|
175
|
+
Prompt (one-shot, create and use tool):
|
|
176
|
+
|
|
177
|
+
Download the text contents of the web page https://world.hey.com/dhh/pay-yourself-first-e86f8147 to a local file, return the filename and size
|
|
178
|
+
|
|
179
|
+
NOTES:
|
|
180
|
+
|
|
181
|
+
First pass had a "graph/node" structure, no input node, malformed output node - basically crazytown, second pass was correct
|
|
182
|
+
- Agent detected error and rebuilt it correctly, so that's good
|
|
183
|
+
|
|
184
|
+
Check relative path support in .mcp.json mcpgraphtoolkit config
|