scorecard-ai-mcp 1.0.0-alpha.6 → 1.0.0-alpha.7
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 +32 -5
- package/dynamic-tools.d.mts +12 -0
- package/dynamic-tools.d.mts.map +1 -0
- package/dynamic-tools.d.ts +12 -0
- package/dynamic-tools.d.ts.map +1 -0
- package/dynamic-tools.js +133 -0
- package/dynamic-tools.js.map +1 -0
- package/dynamic-tools.mjs +130 -0
- package/dynamic-tools.mjs.map +1 -0
- package/index.js +15 -18
- package/index.js.map +1 -1
- package/index.mjs +17 -20
- package/index.mjs.map +1 -1
- package/options.d.mts +2 -0
- package/options.d.mts.map +1 -1
- package/options.d.ts +2 -0
- package/options.d.ts.map +1 -1
- package/options.js +17 -0
- package/options.js.map +1 -1
- package/options.mjs +17 -0
- package/options.mjs.map +1 -1
- package/package.json +13 -20
- package/server.d.mts +6 -1
- package/server.d.mts.map +1 -1
- package/server.d.ts +6 -1
- package/server.d.ts.map +1 -1
- package/server.js +20 -1
- package/server.js.map +1 -1
- package/server.mjs +21 -3
- package/server.mjs.map +1 -1
- package/src/dynamic-tools.ts +152 -0
- package/src/index.ts +19 -23
- package/src/options.ts +22 -0
- package/src/server.ts +33 -3
- package/src/tools/index.ts +5 -5
- package/src/tools/projects/create-projects.ts +36 -0
- package/src/tools/scores/upsert-scores.ts +40 -0
- package/tools/index.d.mts.map +1 -1
- package/tools/index.d.ts.map +1 -1
- package/tools/index.js +5 -4
- package/tools/index.js.map +1 -1
- package/tools/index.mjs +5 -4
- package/tools/index.mjs.map +1 -1
- package/tools/projects/create-projects.d.mts +32 -0
- package/tools/projects/create-projects.d.mts.map +1 -0
- package/tools/projects/create-projects.d.ts +32 -0
- package/tools/projects/create-projects.d.ts.map +1 -0
- package/tools/projects/create-projects.js +33 -0
- package/tools/projects/create-projects.js.map +1 -0
- package/tools/projects/create-projects.mjs +29 -0
- package/tools/projects/create-projects.mjs.map +1 -0
- package/tools/projects/list-projects.d.mts +10 -2
- package/tools/projects/list-projects.d.mts.map +1 -1
- package/tools/projects/list-projects.d.ts +10 -2
- package/tools/projects/list-projects.d.ts.map +1 -1
- package/tools/records/create-records.d.mts +8 -0
- package/tools/records/create-records.d.mts.map +1 -1
- package/tools/records/create-records.d.ts +8 -0
- package/tools/records/create-records.d.ts.map +1 -1
- package/tools/runs/create-runs.d.mts +8 -0
- package/tools/runs/create-runs.d.mts.map +1 -1
- package/tools/runs/create-runs.d.ts +8 -0
- package/tools/runs/create-runs.d.ts.map +1 -1
- package/tools/runs/update-runs.d.mts +8 -0
- package/tools/runs/update-runs.d.mts.map +1 -1
- package/tools/runs/update-runs.d.ts +8 -0
- package/tools/runs/update-runs.d.ts.map +1 -1
- package/tools/scores/upsert-scores.d.mts +32 -0
- package/tools/scores/upsert-scores.d.mts.map +1 -0
- package/tools/scores/upsert-scores.d.ts +32 -0
- package/tools/scores/upsert-scores.d.ts.map +1 -0
- package/tools/scores/upsert-scores.js +35 -0
- package/tools/scores/upsert-scores.js.map +1 -0
- package/tools/scores/upsert-scores.mjs +31 -0
- package/tools/scores/upsert-scores.mjs.map +1 -0
- package/tools/system-configs/create-system-configs.d.mts +8 -0
- package/tools/system-configs/create-system-configs.d.mts.map +1 -1
- package/tools/system-configs/create-system-configs.d.ts +8 -0
- package/tools/system-configs/create-system-configs.d.ts.map +1 -1
- package/tools/system-configs/get-system-configs.d.mts +8 -0
- package/tools/system-configs/get-system-configs.d.mts.map +1 -1
- package/tools/system-configs/get-system-configs.d.ts +8 -0
- package/tools/system-configs/get-system-configs.d.ts.map +1 -1
- package/tools/system-configs/list-system-configs.d.mts +8 -0
- package/tools/system-configs/list-system-configs.d.mts.map +1 -1
- package/tools/system-configs/list-system-configs.d.ts +8 -0
- package/tools/system-configs/list-system-configs.d.ts.map +1 -1
- package/tools/systems/create-systems.d.mts +8 -0
- package/tools/systems/create-systems.d.mts.map +1 -1
- package/tools/systems/create-systems.d.ts +8 -0
- package/tools/systems/create-systems.d.ts.map +1 -1
- package/tools/systems/delete-systems.d.mts +8 -0
- package/tools/systems/delete-systems.d.mts.map +1 -1
- package/tools/systems/delete-systems.d.ts +8 -0
- package/tools/systems/delete-systems.d.ts.map +1 -1
- package/tools/systems/get-systems.d.mts +8 -0
- package/tools/systems/get-systems.d.mts.map +1 -1
- package/tools/systems/get-systems.d.ts +8 -0
- package/tools/systems/get-systems.d.ts.map +1 -1
- package/tools/systems/list-systems.d.mts +8 -0
- package/tools/systems/list-systems.d.mts.map +1 -1
- package/tools/systems/list-systems.d.ts +8 -0
- package/tools/systems/list-systems.d.ts.map +1 -1
- package/tools/systems/update-systems.d.mts +8 -0
- package/tools/systems/update-systems.d.mts.map +1 -1
- package/tools/systems/update-systems.d.ts +8 -0
- package/tools/systems/update-systems.d.ts.map +1 -1
- package/tools/testcases/create-testcases.d.mts +8 -0
- package/tools/testcases/create-testcases.d.mts.map +1 -1
- package/tools/testcases/create-testcases.d.ts +8 -0
- package/tools/testcases/create-testcases.d.ts.map +1 -1
- package/tools/testcases/delete-testcases.d.mts +8 -0
- package/tools/testcases/delete-testcases.d.mts.map +1 -1
- package/tools/testcases/delete-testcases.d.ts +8 -0
- package/tools/testcases/delete-testcases.d.ts.map +1 -1
- package/tools/testcases/get-testcases.d.mts +8 -0
- package/tools/testcases/get-testcases.d.mts.map +1 -1
- package/tools/testcases/get-testcases.d.ts +8 -0
- package/tools/testcases/get-testcases.d.ts.map +1 -1
- package/tools/testcases/list-testcases.d.mts +8 -0
- package/tools/testcases/list-testcases.d.mts.map +1 -1
- package/tools/testcases/list-testcases.d.ts +8 -0
- package/tools/testcases/list-testcases.d.ts.map +1 -1
- package/tools/testcases/update-testcases.d.mts +8 -0
- package/tools/testcases/update-testcases.d.mts.map +1 -1
- package/tools/testcases/update-testcases.d.ts +8 -0
- package/tools/testcases/update-testcases.d.ts.map +1 -1
- package/tools/testsets/create-testsets.d.mts +8 -0
- package/tools/testsets/create-testsets.d.mts.map +1 -1
- package/tools/testsets/create-testsets.d.ts +8 -0
- package/tools/testsets/create-testsets.d.ts.map +1 -1
- package/tools/testsets/delete-testsets.d.mts +8 -0
- package/tools/testsets/delete-testsets.d.mts.map +1 -1
- package/tools/testsets/delete-testsets.d.ts +8 -0
- package/tools/testsets/delete-testsets.d.ts.map +1 -1
- package/tools/testsets/get-testsets.d.mts +8 -0
- package/tools/testsets/get-testsets.d.mts.map +1 -1
- package/tools/testsets/get-testsets.d.ts +8 -0
- package/tools/testsets/get-testsets.d.ts.map +1 -1
- package/tools/testsets/list-testsets.d.mts +8 -0
- package/tools/testsets/list-testsets.d.mts.map +1 -1
- package/tools/testsets/list-testsets.d.ts +8 -0
- package/tools/testsets/list-testsets.d.ts.map +1 -1
- package/tools/testsets/update-testsets.d.mts +8 -0
- package/tools/testsets/update-testsets.d.mts.map +1 -1
- package/tools/testsets/update-testsets.d.ts +8 -0
- package/tools/testsets/update-testsets.d.ts.map +1 -1
- package/compat.test.d.mts +0 -2
- package/compat.test.d.mts.map +0 -1
- package/compat.test.d.ts +0 -2
- package/compat.test.d.ts.map +0 -1
- package/compat.test.js +0 -950
- package/compat.test.js.map +0 -1
- package/compat.test.mjs +0 -948
- package/compat.test.mjs.map +0 -1
- package/options.test.d.mts +0 -2
- package/options.test.d.mts.map +0 -1
- package/options.test.d.ts +0 -2
- package/options.test.d.ts.map +0 -1
- package/options.test.js +0 -154
- package/options.test.js.map +0 -1
- package/options.test.mjs +0 -152
- package/options.test.mjs.map +0 -1
- package/src/compat.test.ts +0 -1068
- package/src/options.test.ts +0 -193
package/options.js
CHANGED
|
@@ -71,6 +71,18 @@ function parseCapabilityValue(cap) {
|
|
|
71
71
|
}
|
|
72
72
|
function parseOptions() {
|
|
73
73
|
const opts = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
74
|
+
.option('tools', {
|
|
75
|
+
type: 'string',
|
|
76
|
+
array: true,
|
|
77
|
+
choices: ['dynamic', 'all'],
|
|
78
|
+
description: 'Use dynamic tools or all tools',
|
|
79
|
+
})
|
|
80
|
+
.option('no-tools', {
|
|
81
|
+
type: 'string',
|
|
82
|
+
array: true,
|
|
83
|
+
choices: ['dynamic', 'all'],
|
|
84
|
+
description: 'Do not use any dynamic or all tools',
|
|
85
|
+
})
|
|
74
86
|
.option('tool', {
|
|
75
87
|
type: 'string',
|
|
76
88
|
array: true,
|
|
@@ -246,7 +258,12 @@ function parseOptions() {
|
|
|
246
258
|
}
|
|
247
259
|
}
|
|
248
260
|
}
|
|
261
|
+
const explicitTools = Boolean(argv.tools || argv.noTools);
|
|
262
|
+
const includeDynamicTools = explicitTools ? argv.tools?.includes('dynamic') && !argv.noTools?.includes('dynamic') : undefined;
|
|
263
|
+
const includeAllTools = explicitTools ? argv.tools?.includes('all') && !argv.noTools?.includes('all') : undefined;
|
|
249
264
|
return {
|
|
265
|
+
includeDynamicTools,
|
|
266
|
+
includeAllTools,
|
|
250
267
|
filters,
|
|
251
268
|
capabilities: clientCapabilities,
|
|
252
269
|
list: argv.list || false,
|
package/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":";;;;;AAkFA,oCAiNC;AAnSD,kDAA0B;AAC1B,2CAAwC;AACxC,sCAA4C;AAK5C,mCAAmC;AACnC,0EAA0E;AAC1E,iBAAiB;AACjB,MAAM,cAAc,GAA2C;IAC7D,eAAe,EAAE;QACf,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,SAAS;KAC1B;IACD,MAAM,EAAE;QACN,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,SAAS;KAC1B;IACD,aAAa,EAAE;QACb,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,SAAS;KAC1B;IACD,MAAM,EAAE;QACN,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,EAAE;KACnB;CACF,CAAC;AAUF,MAAM,kBAAkB,GAAG;IACzB,kBAAkB;IAClB,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,SAAS;IACT,kBAAkB;CACV,CAAC;AAIX,SAAS,oBAAoB,CAAC,GAAW;IACvC,IAAI,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnB,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YACrD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAiB,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,6BAA6B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAiB,EAAE,CAAC;AACrC,CAAC;AAED,SAAgB,YAAY;IAC1B,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtC,MAAM,CAAC,OAAO,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;QAC3B,WAAW,EAAE,gCAAgC;KAC9C,CAAC;SACD,MAAM,CAAC,UAAU,EAAE;QAClB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;QAC3B,WAAW,EAAE,qCAAqC;KACnD,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,4CAA4C;KAC1D,CAAC;SACD,MAAM,CAAC,UAAU,EAAE;QAClB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,gDAAgD;KAC9D,CAAC;SACD,MAAM,CAAC,WAAW,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,WAAW,EAAE,iDAAiD;KAC/D,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,uCAAuC;KACrD,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,4CAA4C;KAC1D,CAAC;SACD,MAAM,CAAC,aAAa,EAAE;QACrB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,gDAAgD;KAC9D,CAAC;SACD,MAAM,CAAC,cAAc,EAAE;QACtB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,iDAAiD;KAC/D,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,uCAAuC;KACrD,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,yBAAyB;KACvC,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;QACpC,WAAW,EAAE,mCAAmC;KACjD,CAAC;SACD,MAAM,CAAC,YAAY,EAAE;QACpB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,6BAA6B;QAC1C,MAAM,EAAE,CAAC,MAAgB,EAAE,EAAE;YAC3B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,CAAC,MAAgB,EAAE,EAAE;YAC3B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;SACD,MAAM,CAAC,uBAAuB,EAAE;QAC/B,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,4DAA4D;KAC1E,CAAC;SACD,IAAI,EAAE,CAAC;IAEV,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAE9B,oCAAoC;IACpC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,oDAAoD;IACpD,MAAM,WAAW,GAAG,CAAC,MAA4B,EAAY,EAAE;QAC7D,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,4BAA4B;IAC5B,MAAM,kBAAkB,GAAuB;QAC7C,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,SAAS;KAC1B,CAAC;IAEF,mCAAmC;IACnC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAoB,CAAC;QAC5C,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,SAAS,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAC1C,kBAAkB,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3C,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3C,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC;YACtC,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACrC,kBAAkB,CAAC,IAAI,GAAG,IAAI,CAAC;YACjC,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvC,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC;YACnC,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACxC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YACpC,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACjD,kBAAkB,CAAC,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;gBAC/B,kBAAkB,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5C,CAAC;iBAAM,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;gBAChC,kBAAkB,CAAC,SAAS,GAAG,KAAK,CAAC;YACvC,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC1B,kBAAkB,CAAC,IAAI,GAAG,KAAK,CAAC;YAClC,CAAC;iBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,kBAAkB,CAAC,MAAM,GAAG,KAAK,CAAC;YACpC,CAAC;iBAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC7B,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACrC,CAAC;iBAAM,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;gBACtC,kBAAkB,CAAC,cAAc,GAAG,SAAS,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,mBAAmB,GACvB,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,MAAM,eAAe,GACnB,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5F,OAAO;QACL,mBAAmB;QACnB,eAAe;QACf,OAAO;QACP,YAAY,EAAE,kBAAkB;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,KAAK;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BP,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;GACtC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,aAAa,GAAG,iBAAS,CAAC,CAAC,CAAE,CAAC;IACpC,MAAM,cAAc,GAClB,iBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAS,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,GAAG,GAAG,iBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,cAAc,IAAI,aAAa,CAAC;IAEtD,OAAO;QACL;YACE,WAAW,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,WAAW,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrG,uBAAuB;SACxB;QACD;YACE,eAAe,aAAa,CAAC,QAAQ,CAAC,QAAQ,sBAAsB;YACpE,kCAAkC;SACnC;QACD;YACE,eAAe,aAAa,CAAC,QAAQ,CAAC,QAAQ,iBAAiB,aAAa,CAAC,IAAI,CAAC,IAAI,GAAG;YACzF,uCAAuC;SACxC;QACD,CAAC,mBAAmB,EAAE,kDAAkD,CAAC;QACzE;YACE,oEAAoE;YACpE,wCAAwC;SACzC;QACD;YACE,sDAAsD;YACtD,4DAA4D;SAC7D;QACD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,EAAE,sBAAsB,CAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC;AACJ,CAAC"}
|
package/options.mjs
CHANGED
|
@@ -65,6 +65,18 @@ function parseCapabilityValue(cap) {
|
|
|
65
65
|
}
|
|
66
66
|
export function parseOptions() {
|
|
67
67
|
const opts = yargs(hideBin(process.argv))
|
|
68
|
+
.option('tools', {
|
|
69
|
+
type: 'string',
|
|
70
|
+
array: true,
|
|
71
|
+
choices: ['dynamic', 'all'],
|
|
72
|
+
description: 'Use dynamic tools or all tools',
|
|
73
|
+
})
|
|
74
|
+
.option('no-tools', {
|
|
75
|
+
type: 'string',
|
|
76
|
+
array: true,
|
|
77
|
+
choices: ['dynamic', 'all'],
|
|
78
|
+
description: 'Do not use any dynamic or all tools',
|
|
79
|
+
})
|
|
68
80
|
.option('tool', {
|
|
69
81
|
type: 'string',
|
|
70
82
|
array: true,
|
|
@@ -240,7 +252,12 @@ export function parseOptions() {
|
|
|
240
252
|
}
|
|
241
253
|
}
|
|
242
254
|
}
|
|
255
|
+
const explicitTools = Boolean(argv.tools || argv.noTools);
|
|
256
|
+
const includeDynamicTools = explicitTools ? argv.tools?.includes('dynamic') && !argv.noTools?.includes('dynamic') : undefined;
|
|
257
|
+
const includeAllTools = explicitTools ? argv.tools?.includes('all') && !argv.noTools?.includes('all') : undefined;
|
|
243
258
|
return {
|
|
259
|
+
includeDynamicTools,
|
|
260
|
+
includeAllTools,
|
|
244
261
|
filters,
|
|
245
262
|
capabilities: clientCapabilities,
|
|
246
263
|
list: argv.list || false,
|
package/options.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.mjs","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"OAAO,KAAK,MAAM,OAAO;OAClB,EAAE,OAAO,EAAE,MAAM,eAAe;OAChC,EAAE,SAAS,EAAU;AAK5B,mCAAmC;AACnC,0EAA0E;AAC1E,iBAAiB;AACjB,MAAM,cAAc,GAA2C;IAC7D,eAAe,EAAE;QACf,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,SAAS;KAC1B;IACD,MAAM,EAAE;QACN,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,SAAS;KAC1B;IACD,aAAa,EAAE;QACb,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,SAAS;KAC1B;IACD,MAAM,EAAE;QACN,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,EAAE;KACnB;CACF,CAAC;
|
|
1
|
+
{"version":3,"file":"options.mjs","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scorecard-ai-mcp",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.7",
|
|
4
4
|
"description": "The official MCP Server for the Scorecard API",
|
|
5
5
|
"author": "Scorecard <team@scorecard.io>",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -24,9 +24,12 @@
|
|
|
24
24
|
"fix": "eslint --fix --ext ts,js ."
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"scorecard-ai": "^1.0.0-alpha.
|
|
27
|
+
"scorecard-ai": "^1.0.0-alpha.7",
|
|
28
28
|
"@modelcontextprotocol/sdk": "^1.6.1",
|
|
29
|
-
"yargs": "^17.7.2"
|
|
29
|
+
"yargs": "^17.7.2",
|
|
30
|
+
"@cloudflare/cabidela": "^0.2.4",
|
|
31
|
+
"zod": "^3.24.4",
|
|
32
|
+
"zod-to-json-schema": "^3.24.5"
|
|
30
33
|
},
|
|
31
34
|
"bin": {
|
|
32
35
|
"mcp-server": "./index.js"
|
|
@@ -54,15 +57,15 @@
|
|
|
54
57
|
"./compat.mjs": {
|
|
55
58
|
"default": "./compat.mjs"
|
|
56
59
|
},
|
|
57
|
-
"./
|
|
58
|
-
"import": "./
|
|
59
|
-
"require": "./
|
|
60
|
+
"./dynamic-tools": {
|
|
61
|
+
"import": "./dynamic-tools.mjs",
|
|
62
|
+
"require": "./dynamic-tools.js"
|
|
60
63
|
},
|
|
61
|
-
"./
|
|
62
|
-
"default": "./
|
|
64
|
+
"./dynamic-tools.js": {
|
|
65
|
+
"default": "./dynamic-tools.js"
|
|
63
66
|
},
|
|
64
|
-
"./
|
|
65
|
-
"default": "./
|
|
67
|
+
"./dynamic-tools.mjs": {
|
|
68
|
+
"default": "./dynamic-tools.mjs"
|
|
66
69
|
},
|
|
67
70
|
"./index": {
|
|
68
71
|
"import": "./index.mjs",
|
|
@@ -84,16 +87,6 @@
|
|
|
84
87
|
"./options.mjs": {
|
|
85
88
|
"default": "./options.mjs"
|
|
86
89
|
},
|
|
87
|
-
"./options.test": {
|
|
88
|
-
"import": "./options.test.mjs",
|
|
89
|
-
"require": "./options.test.js"
|
|
90
|
-
},
|
|
91
|
-
"./options.test.js": {
|
|
92
|
-
"default": "./options.test.js"
|
|
93
|
-
},
|
|
94
|
-
"./options.test.mjs": {
|
|
95
|
-
"default": "./options.test.mjs"
|
|
96
|
-
},
|
|
97
90
|
"./server": {
|
|
98
91
|
"import": "./server.mjs",
|
|
99
92
|
"require": "./server.js"
|
package/server.d.mts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
|
-
import { HandlerFunction } from "./tools.mjs";
|
|
3
|
+
import { Endpoint, HandlerFunction } from "./tools.mjs";
|
|
4
4
|
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
5
5
|
import Scorecard from 'scorecard-ai';
|
|
6
6
|
import { ClientCapabilities } from "./compat.mjs";
|
|
7
|
+
import { ParsedOptions } from "./options.mjs";
|
|
7
8
|
export { endpoints } from "./tools.mjs";
|
|
8
9
|
export declare const server: McpServer;
|
|
9
10
|
/**
|
|
@@ -19,6 +20,10 @@ export declare function init(params: {
|
|
|
19
20
|
}[];
|
|
20
21
|
capabilities?: Partial<ClientCapabilities>;
|
|
21
22
|
}): void;
|
|
23
|
+
/**
|
|
24
|
+
* Selects the tools to include in the MCP Server based on the provided options.
|
|
25
|
+
*/
|
|
26
|
+
export declare function selectTools(endpoints: Endpoint[], options: ParsedOptions): Endpoint[];
|
|
22
27
|
/**
|
|
23
28
|
* Runs the provided handler with the given client and arguments.
|
|
24
29
|
*/
|
package/server.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.mts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAa,eAAe,
|
|
1
|
+
{"version":3,"file":"server.d.mts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAE,QAAQ,EAAa,eAAe,EAAS;OAC/C,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,SAAS,MAAM,cAAc;OAC7B,EAEL,kBAAkB,EAGnB;OAEM,EAAE,aAAa,EAAE;OACjB,EAAE,SAAS,EAAE;AAGpB,eAAO,MAAM,MAAM,WAUlB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC5C,QAuBA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,cAkBxE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,oBAAoB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;;;;;GAenD;AAED,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAM5C,CAAC"}
|
package/server.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
|
-
import { HandlerFunction } from "./tools.js";
|
|
3
|
+
import { Endpoint, HandlerFunction } from "./tools.js";
|
|
4
4
|
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
5
5
|
import Scorecard from 'scorecard-ai';
|
|
6
6
|
import { ClientCapabilities } from "./compat.js";
|
|
7
|
+
import { ParsedOptions } from "./options.js";
|
|
7
8
|
export { endpoints } from "./tools.js";
|
|
8
9
|
export declare const server: McpServer;
|
|
9
10
|
/**
|
|
@@ -19,6 +20,10 @@ export declare function init(params: {
|
|
|
19
20
|
}[];
|
|
20
21
|
capabilities?: Partial<ClientCapabilities>;
|
|
21
22
|
}): void;
|
|
23
|
+
/**
|
|
24
|
+
* Selects the tools to include in the MCP Server based on the provided options.
|
|
25
|
+
*/
|
|
26
|
+
export declare function selectTools(endpoints: Endpoint[], options: ParsedOptions): Endpoint[];
|
|
22
27
|
/**
|
|
23
28
|
* Runs the provided handler with the given client and arguments.
|
|
24
29
|
*/
|
package/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAa,eAAe,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAE,QAAQ,EAAa,eAAe,EAAS;OAC/C,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,SAAS,MAAM,cAAc;OAC7B,EAEL,kBAAkB,EAGnB;OAEM,EAAE,aAAa,EAAE;OACjB,EAAE,SAAS,EAAE;AAGpB,eAAO,MAAM,MAAM,WAUlB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC5C,QAuBA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,cAkBxE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,oBAAoB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;;;;;GAenD;AAED,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAM5C,CAAC"}
|
package/server.js
CHANGED
|
@@ -6,18 +6,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.readEnvOrError = exports.readEnv = exports.server = exports.endpoints = void 0;
|
|
8
8
|
exports.init = init;
|
|
9
|
+
exports.selectTools = selectTools;
|
|
9
10
|
exports.executeHandler = executeHandler;
|
|
10
11
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
11
12
|
const tools_1 = require("./tools.js");
|
|
12
13
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
13
14
|
const scorecard_ai_1 = __importDefault(require("scorecard-ai"));
|
|
14
15
|
const compat_1 = require("./compat.js");
|
|
16
|
+
const dynamic_tools_1 = require("./dynamic-tools.js");
|
|
15
17
|
var tools_2 = require("./tools.js");
|
|
16
18
|
Object.defineProperty(exports, "endpoints", { enumerable: true, get: function () { return tools_2.endpoints; } });
|
|
17
19
|
// Create server instance
|
|
18
20
|
exports.server = new mcp_js_1.McpServer({
|
|
19
21
|
name: 'scorecard_ai_api',
|
|
20
|
-
version: '1.0.0-alpha.
|
|
22
|
+
version: '1.0.0-alpha.7',
|
|
21
23
|
}, {
|
|
22
24
|
capabilities: {
|
|
23
25
|
tools: {},
|
|
@@ -46,6 +48,23 @@ function init(params) {
|
|
|
46
48
|
return executeHandler(endpoint.tool, endpoint.handler, client, args, params.capabilities);
|
|
47
49
|
});
|
|
48
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Selects the tools to include in the MCP Server based on the provided options.
|
|
53
|
+
*/
|
|
54
|
+
function selectTools(endpoints, options) {
|
|
55
|
+
const filteredEndpoints = (0, tools_1.query)(options.filters, endpoints);
|
|
56
|
+
const includedTools = filteredEndpoints;
|
|
57
|
+
if (options.includeAllTools && includedTools.length === 0) {
|
|
58
|
+
includedTools.push(...endpoints);
|
|
59
|
+
}
|
|
60
|
+
if (options.includeDynamicTools) {
|
|
61
|
+
includedTools.push(...(0, dynamic_tools_1.dynamicTools)(endpoints));
|
|
62
|
+
}
|
|
63
|
+
if (includedTools.length === 0) {
|
|
64
|
+
includedTools.push(...endpoints);
|
|
65
|
+
}
|
|
66
|
+
return (0, compat_1.applyCompatibilityTransformations)(includedTools, options.capabilities);
|
|
67
|
+
}
|
|
49
68
|
/**
|
|
50
69
|
* Runs the provided handler with the given client and arguments.
|
|
51
70
|
*/
|
package/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;;;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
|
package/server.mjs
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
|
-
import { endpoints } from "./tools.mjs";
|
|
3
|
+
import { endpoints, query } from "./tools.mjs";
|
|
4
4
|
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
5
5
|
import Scorecard from 'scorecard-ai';
|
|
6
|
-
import { defaultClientCapabilities, parseEmbeddedJSON } from "./compat.mjs";
|
|
6
|
+
import { applyCompatibilityTransformations, defaultClientCapabilities, parseEmbeddedJSON, } from "./compat.mjs";
|
|
7
|
+
import { dynamicTools } from "./dynamic-tools.mjs";
|
|
7
8
|
export { endpoints } from "./tools.mjs";
|
|
8
9
|
// Create server instance
|
|
9
10
|
export const server = new McpServer({
|
|
10
11
|
name: 'scorecard_ai_api',
|
|
11
|
-
version: '1.0.0-alpha.
|
|
12
|
+
version: '1.0.0-alpha.7',
|
|
12
13
|
}, {
|
|
13
14
|
capabilities: {
|
|
14
15
|
tools: {},
|
|
@@ -37,6 +38,23 @@ export function init(params) {
|
|
|
37
38
|
return executeHandler(endpoint.tool, endpoint.handler, client, args, params.capabilities);
|
|
38
39
|
});
|
|
39
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Selects the tools to include in the MCP Server based on the provided options.
|
|
43
|
+
*/
|
|
44
|
+
export function selectTools(endpoints, options) {
|
|
45
|
+
const filteredEndpoints = query(options.filters, endpoints);
|
|
46
|
+
const includedTools = filteredEndpoints;
|
|
47
|
+
if (options.includeAllTools && includedTools.length === 0) {
|
|
48
|
+
includedTools.push(...endpoints);
|
|
49
|
+
}
|
|
50
|
+
if (options.includeDynamicTools) {
|
|
51
|
+
includedTools.push(...dynamicTools(endpoints));
|
|
52
|
+
}
|
|
53
|
+
if (includedTools.length === 0) {
|
|
54
|
+
includedTools.push(...endpoints);
|
|
55
|
+
}
|
|
56
|
+
return applyCompatibilityTransformations(includedTools, options.capabilities);
|
|
57
|
+
}
|
|
40
58
|
/**
|
|
41
59
|
* Runs the provided handler with the given client and arguments.
|
|
42
60
|
*/
|
package/server.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAG/E,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,
|
|
1
|
+
{"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import Scorecard from 'scorecard-ai';
|
|
2
|
+
import { Endpoint } from './tools';
|
|
3
|
+
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { Cabidela } from '@cloudflare/cabidela';
|
|
6
|
+
|
|
7
|
+
function zodToInputSchema(schema: z.ZodSchema) {
|
|
8
|
+
return {
|
|
9
|
+
type: 'object' as const,
|
|
10
|
+
...(zodToJsonSchema(schema) as any),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* A list of tools that expose all the endpoints in the API dynamically.
|
|
16
|
+
*
|
|
17
|
+
* Instead of exposing every endpoint as it's own tool, which uses up too many tokens for LLMs to use at once,
|
|
18
|
+
* we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then
|
|
19
|
+
* a generic endpoint that can be used to invoke any endpoint with the provided arguments.
|
|
20
|
+
*
|
|
21
|
+
* @param endpoints - The endpoints to include in the list.
|
|
22
|
+
*/
|
|
23
|
+
export function dynamicTools(endpoints: Endpoint[]): Endpoint[] {
|
|
24
|
+
const listEndpointsSchema = z.object({
|
|
25
|
+
search_query: z
|
|
26
|
+
.string()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe(
|
|
29
|
+
'An optional search query to filter the endpoints by. Provide a partial name, resource, operation, or tag to filter the endpoints returned.',
|
|
30
|
+
),
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const listEndpointsTool = {
|
|
34
|
+
metadata: {
|
|
35
|
+
resource: 'dynamic_tools',
|
|
36
|
+
operation: 'read' as const,
|
|
37
|
+
tags: [],
|
|
38
|
+
},
|
|
39
|
+
tool: {
|
|
40
|
+
name: 'list_api_endpoints',
|
|
41
|
+
description: 'List or search for all endpoints in the Scorecard TypeScript API',
|
|
42
|
+
inputSchema: zodToInputSchema(listEndpointsSchema),
|
|
43
|
+
},
|
|
44
|
+
handler: async (client: Scorecard, args: Record<string, unknown> | undefined) => {
|
|
45
|
+
const query = args && listEndpointsSchema.parse(args).search_query?.trim();
|
|
46
|
+
|
|
47
|
+
const filteredEndpoints =
|
|
48
|
+
query && query.length > 0 ?
|
|
49
|
+
endpoints.filter((endpoint) => {
|
|
50
|
+
const fieldsToMatch = [
|
|
51
|
+
endpoint.tool.name,
|
|
52
|
+
endpoint.metadata.resource,
|
|
53
|
+
endpoint.metadata.operation,
|
|
54
|
+
...endpoint.metadata.tags,
|
|
55
|
+
];
|
|
56
|
+
return fieldsToMatch.some((field) => field.toLowerCase().includes(query.toLowerCase()));
|
|
57
|
+
})
|
|
58
|
+
: endpoints;
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
tools: filteredEndpoints.map(({ tool, metadata }) => ({
|
|
62
|
+
name: tool.name,
|
|
63
|
+
description: tool.description,
|
|
64
|
+
resource: metadata.resource,
|
|
65
|
+
operation: metadata.operation,
|
|
66
|
+
tags: metadata.tags,
|
|
67
|
+
})),
|
|
68
|
+
};
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const getEndpointSchema = z.object({
|
|
73
|
+
endpoint: z.string().describe('The name of the endpoint to get the schema for.'),
|
|
74
|
+
});
|
|
75
|
+
const getEndpointTool = {
|
|
76
|
+
metadata: {
|
|
77
|
+
resource: 'dynamic_tools',
|
|
78
|
+
operation: 'read' as const,
|
|
79
|
+
tags: [],
|
|
80
|
+
},
|
|
81
|
+
tool: {
|
|
82
|
+
name: 'get_api_endpoint_schema',
|
|
83
|
+
description:
|
|
84
|
+
'Get the schema for an endpoint in the Scorecard TypeScript API. You can use the schema returned by this tool to invoke an endpoint with the `invoke_api_endpoint` tool.',
|
|
85
|
+
inputSchema: zodToInputSchema(getEndpointSchema),
|
|
86
|
+
},
|
|
87
|
+
handler: async (client: Scorecard, args: Record<string, unknown> | undefined) => {
|
|
88
|
+
if (!args) {
|
|
89
|
+
throw new Error('No endpoint provided');
|
|
90
|
+
}
|
|
91
|
+
const endpointName = getEndpointSchema.parse(args).endpoint;
|
|
92
|
+
|
|
93
|
+
const endpoint = endpoints.find((e) => e.tool.name === endpointName);
|
|
94
|
+
if (!endpoint) {
|
|
95
|
+
throw new Error(`Endpoint ${endpointName} not found`);
|
|
96
|
+
}
|
|
97
|
+
return endpoint.tool;
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const invokeEndpointSchema = z.object({
|
|
102
|
+
endpoint_name: z.string().describe('The name of the endpoint to invoke.'),
|
|
103
|
+
args: z
|
|
104
|
+
.record(z.string(), z.any())
|
|
105
|
+
.describe(
|
|
106
|
+
'The arguments to pass to the endpoint. This must match the schema returned by the `get_api_endpoint_schema` tool.',
|
|
107
|
+
),
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
const invokeEndpointTool = {
|
|
111
|
+
metadata: {
|
|
112
|
+
resource: 'dynamic_tools',
|
|
113
|
+
operation: 'write' as const,
|
|
114
|
+
tags: [],
|
|
115
|
+
},
|
|
116
|
+
tool: {
|
|
117
|
+
name: 'invoke_api_endpoint',
|
|
118
|
+
description:
|
|
119
|
+
'Invoke an endpoint in the Scorecard TypeScript API. Note: use the `list_api_endpoints` tool to get the list of endpoints and `get_api_endpoint_schema` tool to get the schema for an endpoint.',
|
|
120
|
+
inputSchema: zodToInputSchema(invokeEndpointSchema),
|
|
121
|
+
},
|
|
122
|
+
handler: async (client: Scorecard, args: Record<string, unknown> | undefined) => {
|
|
123
|
+
if (!args) {
|
|
124
|
+
throw new Error('No endpoint provided');
|
|
125
|
+
}
|
|
126
|
+
const { success, data, error } = invokeEndpointSchema.safeParse(args);
|
|
127
|
+
if (!success) {
|
|
128
|
+
throw new Error(`Invalid arguments for endpoint. ${error?.format()}`);
|
|
129
|
+
}
|
|
130
|
+
const { endpoint_name, args: endpointArgs } = data;
|
|
131
|
+
|
|
132
|
+
const endpoint = endpoints.find((e) => e.tool.name === endpoint_name);
|
|
133
|
+
if (!endpoint) {
|
|
134
|
+
throw new Error(
|
|
135
|
+
`Endpoint ${endpoint_name} not found. Use the \`list_api_endpoints\` tool to get the list of available endpoints.`,
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
try {
|
|
140
|
+
// Try to validate the arguments for a better error message
|
|
141
|
+
const cabidela = new Cabidela(endpoint.tool.inputSchema, { fullErrors: true });
|
|
142
|
+
cabidela.validate(endpointArgs);
|
|
143
|
+
} catch (error) {
|
|
144
|
+
throw new Error(`Invalid arguments for endpoint ${endpoint_name}:\n${error}`);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return endpoint.handler(client, endpointArgs);
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
return [getEndpointTool, listEndpointsTool, invokeEndpointTool];
|
|
152
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,28 +1,24 @@
|
|
|
1
1
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
2
|
-
import { init, server } from './server';
|
|
3
|
-
import { Endpoint, endpoints
|
|
4
|
-
import {
|
|
5
|
-
import { parseOptions } from './options';
|
|
2
|
+
import { init, selectTools, server } from './server';
|
|
3
|
+
import { Endpoint, endpoints } from './tools';
|
|
4
|
+
import { ParsedOptions, parseOptions } from './options';
|
|
6
5
|
|
|
7
6
|
async function main() {
|
|
8
|
-
const
|
|
7
|
+
const options = parseOptionsOrError();
|
|
9
8
|
|
|
10
|
-
if (list) {
|
|
9
|
+
if (options.list) {
|
|
11
10
|
listAllTools();
|
|
12
11
|
return;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
// Apply compatibility transformations
|
|
18
|
-
const transformedEndpoints = applyCompatibilityTransformations(filteredEndpoints, capabilities);
|
|
14
|
+
const includedTools = selectToolsOrError(endpoints, options);
|
|
19
15
|
|
|
20
16
|
console.error(
|
|
21
|
-
`MCP Server starting with ${
|
|
22
|
-
|
|
17
|
+
`MCP Server starting with ${includedTools.length} tools:`,
|
|
18
|
+
includedTools.map((e) => e.tool.name),
|
|
23
19
|
);
|
|
24
20
|
|
|
25
|
-
init({ server, endpoints:
|
|
21
|
+
init({ server, endpoints: includedTools });
|
|
26
22
|
|
|
27
23
|
const transport = new StdioServerTransport();
|
|
28
24
|
await server.connect(transport);
|
|
@@ -45,14 +41,14 @@ function parseOptionsOrError() {
|
|
|
45
41
|
}
|
|
46
42
|
}
|
|
47
43
|
|
|
48
|
-
function
|
|
44
|
+
function selectToolsOrError(endpoints: Endpoint[], options: ParsedOptions) {
|
|
49
45
|
try {
|
|
50
|
-
const
|
|
51
|
-
if (
|
|
46
|
+
const includedTools = selectTools(endpoints, options);
|
|
47
|
+
if (includedTools.length === 0) {
|
|
52
48
|
console.error('No tools match the provided filters.');
|
|
53
49
|
process.exit(1);
|
|
54
50
|
}
|
|
55
|
-
return
|
|
51
|
+
return includedTools;
|
|
56
52
|
} catch (error) {
|
|
57
53
|
if (error instanceof Error) {
|
|
58
54
|
console.error('Error filtering tools:', error.message);
|
|
@@ -65,10 +61,10 @@ function filterEndpointsOrError(filters: Filter[], endpoints: Endpoint[]) {
|
|
|
65
61
|
|
|
66
62
|
function listAllTools() {
|
|
67
63
|
if (endpoints.length === 0) {
|
|
68
|
-
console.
|
|
64
|
+
console.log('No tools available.');
|
|
69
65
|
return;
|
|
70
66
|
}
|
|
71
|
-
console.
|
|
67
|
+
console.log('Available tools:\n');
|
|
72
68
|
|
|
73
69
|
// Group endpoints by resource
|
|
74
70
|
const resourceGroups = new Map<string, typeof endpoints>();
|
|
@@ -86,7 +82,7 @@ function listAllTools() {
|
|
|
86
82
|
|
|
87
83
|
// Display hierarchically by resource
|
|
88
84
|
for (const resource of sortedResources) {
|
|
89
|
-
console.
|
|
85
|
+
console.log(`Resource: ${resource}`);
|
|
90
86
|
|
|
91
87
|
const resourceEndpoints = resourceGroups.get(resource)!;
|
|
92
88
|
// Sort endpoints by tool name
|
|
@@ -98,9 +94,9 @@ function listAllTools() {
|
|
|
98
94
|
metadata: { operation, tags },
|
|
99
95
|
} = endpoint;
|
|
100
96
|
|
|
101
|
-
console.
|
|
102
|
-
console.
|
|
97
|
+
console.log(` - ${tool.name} (${operation}) ${tags.length > 0 ? `tags: ${tags.join(', ')}` : ''}`);
|
|
98
|
+
console.log(` Description: ${tool.description}`);
|
|
103
99
|
}
|
|
104
|
-
console.
|
|
100
|
+
console.log('');
|
|
105
101
|
}
|
|
106
102
|
}
|