scorecard-ai-mcp 1.0.0-alpha.9 → 1.1.0
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 +19 -14
- package/compat.d.mts +2 -0
- package/compat.d.mts.map +1 -1
- package/compat.d.ts +2 -0
- package/compat.d.ts.map +1 -1
- package/compat.js +38 -1
- package/compat.js.map +1 -1
- package/compat.mjs +37 -0
- package/compat.mjs.map +1 -1
- package/index.js.map +1 -1
- package/index.mjs.map +1 -1
- package/options.d.mts +9 -6
- package/options.d.mts.map +1 -1
- package/options.d.ts +9 -6
- package/options.d.ts.map +1 -1
- package/options.js +5 -46
- package/options.js.map +1 -1
- package/options.mjs +5 -46
- package/options.mjs.map +1 -1
- package/package.json +4 -4
- package/server.d.mts +16 -2
- package/server.d.mts.map +1 -1
- package/server.d.ts +16 -2
- package/server.d.ts.map +1 -1
- package/server.js +28 -10
- package/server.js.map +1 -1
- package/server.mjs +28 -11
- package/server.mjs.map +1 -1
- package/src/compat.ts +40 -0
- package/src/index.ts +2 -2
- package/src/options.ts +12 -54
- package/src/server.ts +40 -15
- package/src/tools/index.ts +13 -8
- package/src/tools/metrics/create-metrics.ts +252 -0
- package/src/tools/metrics/update-metrics.ts +252 -0
- package/src/tools/runs/create-runs.ts +2 -2
- package/src/tools/systems/delete-systems.ts +1 -1
- package/src/tools/systems/versions/create-systems-versions.ts +45 -0
- package/src/tools/{system-configs/get-system-configs.ts → systems/versions/get-systems-versions.ts} +9 -9
- package/src/tools/{system-configs/list-system-configs.ts → systems/versions/list-systems-versions.ts} +6 -6
- package/src/tools/testsets/get-testsets.ts +1 -1
- package/src/tools/types.ts +0 -1
- package/tools/index.d.mts.map +1 -1
- package/tools/index.d.ts.map +1 -1
- package/tools/index.js +13 -8
- package/tools/index.js.map +1 -1
- package/tools/index.mjs +13 -8
- package/tools/index.mjs.map +1 -1
- package/tools/{system-configs/list-system-configs.d.mts → metrics/create-metrics.d.mts} +10 -1
- package/tools/metrics/create-metrics.d.mts.map +1 -0
- package/tools/{system-configs/create-system-configs.d.ts → metrics/create-metrics.d.ts} +10 -1
- package/tools/metrics/create-metrics.d.ts.map +1 -0
- package/tools/metrics/create-metrics.js +245 -0
- package/tools/metrics/create-metrics.js.map +1 -0
- package/tools/metrics/create-metrics.mjs +241 -0
- package/tools/metrics/create-metrics.mjs.map +1 -0
- package/tools/{system-configs/get-system-configs.d.mts → metrics/update-metrics.d.mts} +10 -1
- package/tools/metrics/update-metrics.d.mts.map +1 -0
- package/tools/{system-configs/get-system-configs.d.ts → metrics/update-metrics.d.ts} +10 -1
- package/tools/metrics/update-metrics.d.ts.map +1 -0
- package/tools/metrics/update-metrics.js +245 -0
- package/tools/metrics/update-metrics.js.map +1 -0
- package/tools/metrics/update-metrics.mjs +241 -0
- package/tools/metrics/update-metrics.mjs.map +1 -0
- package/tools/projects/create-projects.d.mts +9 -0
- package/tools/projects/create-projects.d.mts.map +1 -1
- package/tools/projects/create-projects.d.ts +9 -0
- package/tools/projects/create-projects.d.ts.map +1 -1
- package/tools/projects/list-projects.d.mts +9 -0
- package/tools/projects/list-projects.d.mts.map +1 -1
- package/tools/projects/list-projects.d.ts +9 -0
- package/tools/projects/list-projects.d.ts.map +1 -1
- package/tools/records/create-records.d.mts +9 -0
- package/tools/records/create-records.d.mts.map +1 -1
- package/tools/records/create-records.d.ts +9 -0
- package/tools/records/create-records.d.ts.map +1 -1
- package/tools/runs/create-runs.d.mts +9 -0
- package/tools/runs/create-runs.d.mts.map +1 -1
- package/tools/runs/create-runs.d.ts +9 -0
- package/tools/runs/create-runs.d.ts.map +1 -1
- package/tools/runs/create-runs.js +2 -2
- package/tools/runs/create-runs.js.map +1 -1
- package/tools/runs/create-runs.mjs +2 -2
- package/tools/runs/create-runs.mjs.map +1 -1
- package/tools/scores/upsert-scores.d.mts +9 -0
- package/tools/scores/upsert-scores.d.mts.map +1 -1
- package/tools/scores/upsert-scores.d.ts +9 -0
- package/tools/scores/upsert-scores.d.ts.map +1 -1
- package/tools/systems/create-systems.d.mts +9 -0
- package/tools/systems/create-systems.d.mts.map +1 -1
- package/tools/systems/create-systems.d.ts +9 -0
- package/tools/systems/create-systems.d.ts.map +1 -1
- package/tools/systems/delete-systems.d.mts +9 -0
- package/tools/systems/delete-systems.d.mts.map +1 -1
- package/tools/systems/delete-systems.d.ts +9 -0
- package/tools/systems/delete-systems.d.ts.map +1 -1
- package/tools/systems/delete-systems.js +1 -1
- package/tools/systems/delete-systems.js.map +1 -1
- package/tools/systems/delete-systems.mjs +1 -1
- package/tools/systems/delete-systems.mjs.map +1 -1
- package/tools/systems/get-systems.d.mts +9 -0
- package/tools/systems/get-systems.d.mts.map +1 -1
- package/tools/systems/get-systems.d.ts +9 -0
- package/tools/systems/get-systems.d.ts.map +1 -1
- package/tools/systems/list-systems.d.mts +9 -0
- package/tools/systems/list-systems.d.mts.map +1 -1
- package/tools/systems/list-systems.d.ts +9 -0
- package/tools/systems/list-systems.d.ts.map +1 -1
- package/tools/systems/update-systems.d.mts +9 -0
- package/tools/systems/update-systems.d.mts.map +1 -1
- package/tools/systems/update-systems.d.ts +9 -0
- package/tools/systems/update-systems.d.ts.map +1 -1
- package/tools/systems/versions/create-systems-versions.d.mts +41 -0
- package/tools/systems/versions/create-systems-versions.d.mts.map +1 -0
- package/tools/systems/versions/create-systems-versions.d.ts +41 -0
- package/tools/systems/versions/create-systems-versions.d.ts.map +1 -0
- package/tools/systems/versions/create-systems-versions.js +40 -0
- package/tools/systems/versions/create-systems-versions.js.map +1 -0
- package/tools/systems/versions/create-systems-versions.mjs +36 -0
- package/tools/systems/versions/create-systems-versions.mjs.map +1 -0
- package/tools/systems/versions/get-systems-versions.d.mts +41 -0
- package/tools/systems/versions/get-systems-versions.d.mts.map +1 -0
- package/tools/{system-configs/create-system-configs.d.mts → systems/versions/get-systems-versions.d.ts} +11 -2
- package/tools/systems/versions/get-systems-versions.d.ts.map +1 -0
- package/tools/{system-configs/get-system-configs.js → systems/versions/get-systems-versions.js} +9 -9
- package/tools/systems/versions/get-systems-versions.js.map +1 -0
- package/tools/{system-configs/get-system-configs.mjs → systems/versions/get-systems-versions.mjs} +9 -9
- package/tools/systems/versions/get-systems-versions.mjs.map +1 -0
- package/tools/systems/versions/list-systems-versions.d.mts +41 -0
- package/tools/systems/versions/list-systems-versions.d.mts.map +1 -0
- package/tools/systems/versions/list-systems-versions.d.ts +41 -0
- package/tools/systems/versions/list-systems-versions.d.ts.map +1 -0
- package/tools/{system-configs/list-system-configs.js → systems/versions/list-systems-versions.js} +6 -6
- package/tools/systems/versions/list-systems-versions.js.map +1 -0
- package/tools/{system-configs/list-system-configs.mjs → systems/versions/list-systems-versions.mjs} +6 -6
- package/tools/systems/versions/list-systems-versions.mjs.map +1 -0
- package/tools/testcases/create-testcases.d.mts +9 -0
- package/tools/testcases/create-testcases.d.mts.map +1 -1
- package/tools/testcases/create-testcases.d.ts +9 -0
- package/tools/testcases/create-testcases.d.ts.map +1 -1
- package/tools/testcases/delete-testcases.d.mts +9 -0
- package/tools/testcases/delete-testcases.d.mts.map +1 -1
- package/tools/testcases/delete-testcases.d.ts +9 -0
- package/tools/testcases/delete-testcases.d.ts.map +1 -1
- package/tools/testcases/get-testcases.d.mts +9 -0
- package/tools/testcases/get-testcases.d.mts.map +1 -1
- package/tools/testcases/get-testcases.d.ts +9 -0
- package/tools/testcases/get-testcases.d.ts.map +1 -1
- package/tools/testcases/list-testcases.d.mts +9 -0
- package/tools/testcases/list-testcases.d.mts.map +1 -1
- package/tools/testcases/list-testcases.d.ts +9 -0
- package/tools/testcases/list-testcases.d.ts.map +1 -1
- package/tools/testcases/update-testcases.d.mts +9 -0
- package/tools/testcases/update-testcases.d.mts.map +1 -1
- package/tools/testcases/update-testcases.d.ts +9 -0
- package/tools/testcases/update-testcases.d.ts.map +1 -1
- package/tools/testsets/create-testsets.d.mts +9 -0
- package/tools/testsets/create-testsets.d.mts.map +1 -1
- package/tools/testsets/create-testsets.d.ts +9 -0
- package/tools/testsets/create-testsets.d.ts.map +1 -1
- package/tools/testsets/delete-testsets.d.mts +9 -0
- package/tools/testsets/delete-testsets.d.mts.map +1 -1
- package/tools/testsets/delete-testsets.d.ts +9 -0
- package/tools/testsets/delete-testsets.d.ts.map +1 -1
- package/tools/testsets/get-testsets.d.mts +9 -0
- package/tools/testsets/get-testsets.d.mts.map +1 -1
- package/tools/testsets/get-testsets.d.ts +9 -0
- package/tools/testsets/get-testsets.d.ts.map +1 -1
- package/tools/testsets/get-testsets.js +1 -1
- package/tools/testsets/get-testsets.js.map +1 -1
- package/tools/testsets/get-testsets.mjs +1 -1
- package/tools/testsets/get-testsets.mjs.map +1 -1
- package/tools/testsets/list-testsets.d.mts +9 -0
- package/tools/testsets/list-testsets.d.mts.map +1 -1
- package/tools/testsets/list-testsets.d.ts +9 -0
- package/tools/testsets/list-testsets.d.ts.map +1 -1
- package/tools/testsets/update-testsets.d.mts +9 -0
- package/tools/testsets/update-testsets.d.mts.map +1 -1
- package/tools/testsets/update-testsets.d.ts +9 -0
- package/tools/testsets/update-testsets.d.ts.map +1 -1
- package/tools/types.d.mts.map +1 -1
- package/tools/types.d.ts.map +1 -1
- package/src/tools/system-configs/create-system-configs.ts +0 -64
- package/tools/system-configs/create-system-configs.d.mts.map +0 -1
- package/tools/system-configs/create-system-configs.d.ts.map +0 -1
- package/tools/system-configs/create-system-configs.js +0 -58
- package/tools/system-configs/create-system-configs.js.map +0 -1
- package/tools/system-configs/create-system-configs.mjs +0 -54
- package/tools/system-configs/create-system-configs.mjs.map +0 -1
- package/tools/system-configs/get-system-configs.d.mts.map +0 -1
- package/tools/system-configs/get-system-configs.d.ts.map +0 -1
- package/tools/system-configs/get-system-configs.js.map +0 -1
- package/tools/system-configs/get-system-configs.mjs.map +0 -1
- package/tools/system-configs/list-system-configs.d.mts.map +0 -1
- package/tools/system-configs/list-system-configs.d.ts +0 -32
- package/tools/system-configs/list-system-configs.d.ts.map +0 -1
- package/tools/system-configs/list-system-configs.js.map +0 -1
- package/tools/system-configs/list-system-configs.mjs.map +0 -1
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;
|
|
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.
|
|
3
|
+
"version": "1.1.0",
|
|
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,11 +24,11 @@
|
|
|
24
24
|
"fix": "eslint --fix --ext ts,js ."
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"scorecard-ai": "^1.
|
|
28
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
27
|
+
"scorecard-ai": "^1.1.0",
|
|
28
|
+
"@modelcontextprotocol/sdk": "^1.11.5",
|
|
29
29
|
"yargs": "^17.7.2",
|
|
30
30
|
"@cloudflare/cabidela": "^0.2.4",
|
|
31
|
-
"zod": "^3.
|
|
31
|
+
"zod": "^3.25.20",
|
|
32
32
|
"zod-to-json-schema": "^3.24.5"
|
|
33
33
|
},
|
|
34
34
|
"bin": {
|
package/server.d.mts
CHANGED
|
@@ -2,15 +2,29 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import { Endpoint, HandlerFunction } from "./tools.mjs";
|
|
4
4
|
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
+
import { ClientOptions } from 'scorecard-ai';
|
|
5
6
|
import Scorecard from 'scorecard-ai';
|
|
6
7
|
import { ClientCapabilities } from "./compat.mjs";
|
|
7
|
-
import {
|
|
8
|
+
import { McpOptions } from "./options.mjs";
|
|
9
|
+
export { McpOptions } from "./options.mjs";
|
|
10
|
+
export { ClientType } from "./compat.mjs";
|
|
11
|
+
export { Filter } from "./tools.mjs";
|
|
12
|
+
export { ClientOptions } from 'scorecard-ai';
|
|
8
13
|
export { endpoints } from "./tools.mjs";
|
|
9
14
|
export declare const server: McpServer;
|
|
10
15
|
/**
|
|
11
16
|
* Initializes the provided MCP Server with the given tools and handlers.
|
|
12
17
|
* If not provided, the default client, tools and handlers will be used.
|
|
13
18
|
*/
|
|
19
|
+
export declare function initMcpServer(params: {
|
|
20
|
+
server: Server | McpServer;
|
|
21
|
+
clientOptions: ClientOptions;
|
|
22
|
+
mcpOptions: McpOptions;
|
|
23
|
+
endpoints?: {
|
|
24
|
+
tool: Tool;
|
|
25
|
+
handler: HandlerFunction;
|
|
26
|
+
}[];
|
|
27
|
+
}): void;
|
|
14
28
|
export declare function init(params: {
|
|
15
29
|
server: Server | McpServer;
|
|
16
30
|
client?: Scorecard;
|
|
@@ -23,7 +37,7 @@ export declare function init(params: {
|
|
|
23
37
|
/**
|
|
24
38
|
* Selects the tools to include in the MCP Server based on the provided options.
|
|
25
39
|
*/
|
|
26
|
-
export declare function selectTools(endpoints: Endpoint[], options:
|
|
40
|
+
export declare function selectTools(endpoints: Endpoint[], options: McpOptions): Endpoint[];
|
|
27
41
|
/**
|
|
28
42
|
* Runs the provided handler with the given client and arguments.
|
|
29
43
|
*/
|
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,EAAE,QAAQ,EAAa,eAAe,EAAS;OAC/C,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,SAAS,MAAM,cAAc;OAC7B,EAEL,kBAAkB,
|
|
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,EAAE,aAAa,EAAE,MAAM,cAAc;OACrC,SAAS,MAAM,cAAc;OAC7B,EAEL,kBAAkB,EAInB;OAEM,EAAE,UAAU,EAAE;OAEd,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE,MAAM,cAAc;OACrC,EAAE,SAAS,EAAE;AAGpB,eAAO,MAAM,MAAM,WAUlB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;CACxD,QAQA;AAED,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,QAwBA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,cAqBrE;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,mDAOnD;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
|
@@ -2,15 +2,29 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import { Endpoint, HandlerFunction } from "./tools.js";
|
|
4
4
|
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
+
import { ClientOptions } from 'scorecard-ai';
|
|
5
6
|
import Scorecard from 'scorecard-ai';
|
|
6
7
|
import { ClientCapabilities } from "./compat.js";
|
|
7
|
-
import {
|
|
8
|
+
import { McpOptions } from "./options.js";
|
|
9
|
+
export { McpOptions } from "./options.js";
|
|
10
|
+
export { ClientType } from "./compat.js";
|
|
11
|
+
export { Filter } from "./tools.js";
|
|
12
|
+
export { ClientOptions } from 'scorecard-ai';
|
|
8
13
|
export { endpoints } from "./tools.js";
|
|
9
14
|
export declare const server: McpServer;
|
|
10
15
|
/**
|
|
11
16
|
* Initializes the provided MCP Server with the given tools and handlers.
|
|
12
17
|
* If not provided, the default client, tools and handlers will be used.
|
|
13
18
|
*/
|
|
19
|
+
export declare function initMcpServer(params: {
|
|
20
|
+
server: Server | McpServer;
|
|
21
|
+
clientOptions: ClientOptions;
|
|
22
|
+
mcpOptions: McpOptions;
|
|
23
|
+
endpoints?: {
|
|
24
|
+
tool: Tool;
|
|
25
|
+
handler: HandlerFunction;
|
|
26
|
+
}[];
|
|
27
|
+
}): void;
|
|
14
28
|
export declare function init(params: {
|
|
15
29
|
server: Server | McpServer;
|
|
16
30
|
client?: Scorecard;
|
|
@@ -23,7 +37,7 @@ export declare function init(params: {
|
|
|
23
37
|
/**
|
|
24
38
|
* Selects the tools to include in the MCP Server based on the provided options.
|
|
25
39
|
*/
|
|
26
|
-
export declare function selectTools(endpoints: Endpoint[], options:
|
|
40
|
+
export declare function selectTools(endpoints: Endpoint[], options: McpOptions): Endpoint[];
|
|
27
41
|
/**
|
|
28
42
|
* Runs the provided handler with the given client and arguments.
|
|
29
43
|
*/
|
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,EAAE,QAAQ,EAAa,eAAe,EAAS;OAC/C,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,SAAS,MAAM,cAAc;OAC7B,EAEL,kBAAkB,
|
|
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,EAAE,aAAa,EAAE,MAAM,cAAc;OACrC,SAAS,MAAM,cAAc;OAC7B,EAEL,kBAAkB,EAInB;OAEM,EAAE,UAAU,EAAE;OAEd,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE,MAAM,cAAc;OACrC,EAAE,SAAS,EAAE;AAGpB,eAAO,MAAM,MAAM,WAUlB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;CACxD,QAQA;AAED,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,QAwBA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,cAqBrE;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,mDAOnD;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
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.readEnvOrError = exports.readEnv = exports.server = exports.endpoints = void 0;
|
|
8
|
+
exports.initMcpServer = initMcpServer;
|
|
8
9
|
exports.init = init;
|
|
9
10
|
exports.selectTools = selectTools;
|
|
10
11
|
exports.executeHandler = executeHandler;
|
|
@@ -19,7 +20,7 @@ Object.defineProperty(exports, "endpoints", { enumerable: true, get: function ()
|
|
|
19
20
|
// Create server instance
|
|
20
21
|
exports.server = new mcp_js_1.McpServer({
|
|
21
22
|
name: 'scorecard_ai_api',
|
|
22
|
-
version: '1.
|
|
23
|
+
version: '1.1.0',
|
|
23
24
|
}, {
|
|
24
25
|
capabilities: {
|
|
25
26
|
tools: {},
|
|
@@ -29,6 +30,15 @@ exports.server = new mcp_js_1.McpServer({
|
|
|
29
30
|
* Initializes the provided MCP Server with the given tools and handlers.
|
|
30
31
|
* If not provided, the default client, tools and handlers will be used.
|
|
31
32
|
*/
|
|
33
|
+
function initMcpServer(params) {
|
|
34
|
+
const transformedEndpoints = selectTools(tools_1.endpoints, params.mcpOptions);
|
|
35
|
+
const client = new scorecard_ai_1.default(params.clientOptions);
|
|
36
|
+
const capabilities = {
|
|
37
|
+
...compat_1.defaultClientCapabilities,
|
|
38
|
+
...(params.mcpOptions.client ? compat_1.knownClients[params.mcpOptions.client] : params.mcpOptions.capabilities),
|
|
39
|
+
};
|
|
40
|
+
init({ server: params.server, client, endpoints: transformedEndpoints, capabilities });
|
|
41
|
+
}
|
|
32
42
|
function init(params) {
|
|
33
43
|
const server = params.server instanceof mcp_js_1.McpServer ? params.server.server : params.server;
|
|
34
44
|
const providedEndpoints = params.endpoints || tools_1.endpoints;
|
|
@@ -53,17 +63,25 @@ function init(params) {
|
|
|
53
63
|
*/
|
|
54
64
|
function selectTools(endpoints, options) {
|
|
55
65
|
const filteredEndpoints = (0, tools_1.query)(options.filters, endpoints);
|
|
56
|
-
|
|
57
|
-
if (
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
includedTools.push(...(0, dynamic_tools_1.dynamicTools)(endpoints));
|
|
66
|
+
let includedTools = filteredEndpoints;
|
|
67
|
+
if (includedTools.length > 0) {
|
|
68
|
+
if (options.includeDynamicTools) {
|
|
69
|
+
includedTools = (0, dynamic_tools_1.dynamicTools)(includedTools);
|
|
70
|
+
}
|
|
62
71
|
}
|
|
63
|
-
|
|
64
|
-
|
|
72
|
+
else {
|
|
73
|
+
if (options.includeAllTools) {
|
|
74
|
+
includedTools = endpoints;
|
|
75
|
+
}
|
|
76
|
+
else if (options.includeDynamicTools) {
|
|
77
|
+
includedTools = (0, dynamic_tools_1.dynamicTools)(endpoints);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
includedTools = endpoints;
|
|
81
|
+
}
|
|
65
82
|
}
|
|
66
|
-
|
|
83
|
+
const capabilities = { ...compat_1.defaultClientCapabilities, ...options.capabilities };
|
|
84
|
+
return (0, compat_1.applyCompatibilityTransformations)(includedTools, capabilities);
|
|
67
85
|
}
|
|
68
86
|
/**
|
|
69
87
|
* Runs the provided handler with the given client and arguments.
|
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
|
@@ -3,13 +3,13 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
3
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 { applyCompatibilityTransformations, defaultClientCapabilities, parseEmbeddedJSON, } from "./compat.mjs";
|
|
6
|
+
import { applyCompatibilityTransformations, defaultClientCapabilities, knownClients, parseEmbeddedJSON, } from "./compat.mjs";
|
|
7
7
|
import { dynamicTools } from "./dynamic-tools.mjs";
|
|
8
8
|
export { endpoints } from "./tools.mjs";
|
|
9
9
|
// Create server instance
|
|
10
10
|
export const server = new McpServer({
|
|
11
11
|
name: 'scorecard_ai_api',
|
|
12
|
-
version: '1.
|
|
12
|
+
version: '1.1.0',
|
|
13
13
|
}, {
|
|
14
14
|
capabilities: {
|
|
15
15
|
tools: {},
|
|
@@ -19,6 +19,15 @@ export const server = new McpServer({
|
|
|
19
19
|
* Initializes the provided MCP Server with the given tools and handlers.
|
|
20
20
|
* If not provided, the default client, tools and handlers will be used.
|
|
21
21
|
*/
|
|
22
|
+
export function initMcpServer(params) {
|
|
23
|
+
const transformedEndpoints = selectTools(endpoints, params.mcpOptions);
|
|
24
|
+
const client = new Scorecard(params.clientOptions);
|
|
25
|
+
const capabilities = {
|
|
26
|
+
...defaultClientCapabilities,
|
|
27
|
+
...(params.mcpOptions.client ? knownClients[params.mcpOptions.client] : params.mcpOptions.capabilities),
|
|
28
|
+
};
|
|
29
|
+
init({ server: params.server, client, endpoints: transformedEndpoints, capabilities });
|
|
30
|
+
}
|
|
22
31
|
export function init(params) {
|
|
23
32
|
const server = params.server instanceof McpServer ? params.server.server : params.server;
|
|
24
33
|
const providedEndpoints = params.endpoints || endpoints;
|
|
@@ -43,17 +52,25 @@ export function init(params) {
|
|
|
43
52
|
*/
|
|
44
53
|
export function selectTools(endpoints, options) {
|
|
45
54
|
const filteredEndpoints = query(options.filters, endpoints);
|
|
46
|
-
|
|
47
|
-
if (
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
includedTools.push(...dynamicTools(endpoints));
|
|
55
|
+
let includedTools = filteredEndpoints;
|
|
56
|
+
if (includedTools.length > 0) {
|
|
57
|
+
if (options.includeDynamicTools) {
|
|
58
|
+
includedTools = dynamicTools(includedTools);
|
|
59
|
+
}
|
|
52
60
|
}
|
|
53
|
-
|
|
54
|
-
|
|
61
|
+
else {
|
|
62
|
+
if (options.includeAllTools) {
|
|
63
|
+
includedTools = endpoints;
|
|
64
|
+
}
|
|
65
|
+
else if (options.includeDynamicTools) {
|
|
66
|
+
includedTools = dynamicTools(endpoints);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
includedTools = endpoints;
|
|
70
|
+
}
|
|
55
71
|
}
|
|
56
|
-
|
|
72
|
+
const capabilities = { ...defaultClientCapabilities, ...options.capabilities };
|
|
73
|
+
return applyCompatibilityTransformations(includedTools, capabilities);
|
|
57
74
|
}
|
|
58
75
|
/**
|
|
59
76
|
* Runs the provided handler with the given client and arguments.
|
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,EAAY,SAAS,EAAmB,KAAK,EAAE;OAC/C,EAAE,qBAAqB,EAAE,sBAAsB,EAAQ,MAAM,oCAAoC;
|
|
1
|
+
{"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
|
package/src/compat.ts
CHANGED
|
@@ -19,6 +19,46 @@ export const defaultClientCapabilities: ClientCapabilities = {
|
|
|
19
19
|
toolNameLength: undefined,
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
+
export type ClientType = 'openai-agents' | 'claude' | 'claude-code' | 'cursor';
|
|
23
|
+
|
|
24
|
+
// Client presets for compatibility
|
|
25
|
+
// Note that these could change over time as models get better, so this is
|
|
26
|
+
// a best effort.
|
|
27
|
+
export const knownClients: Record<ClientType, ClientCapabilities> = {
|
|
28
|
+
'openai-agents': {
|
|
29
|
+
topLevelUnions: false,
|
|
30
|
+
validJson: true,
|
|
31
|
+
refs: true,
|
|
32
|
+
unions: true,
|
|
33
|
+
formats: true,
|
|
34
|
+
toolNameLength: undefined,
|
|
35
|
+
},
|
|
36
|
+
claude: {
|
|
37
|
+
topLevelUnions: true,
|
|
38
|
+
validJson: false,
|
|
39
|
+
refs: true,
|
|
40
|
+
unions: true,
|
|
41
|
+
formats: true,
|
|
42
|
+
toolNameLength: undefined,
|
|
43
|
+
},
|
|
44
|
+
'claude-code': {
|
|
45
|
+
topLevelUnions: false,
|
|
46
|
+
validJson: true,
|
|
47
|
+
refs: true,
|
|
48
|
+
unions: true,
|
|
49
|
+
formats: true,
|
|
50
|
+
toolNameLength: undefined,
|
|
51
|
+
},
|
|
52
|
+
cursor: {
|
|
53
|
+
topLevelUnions: false,
|
|
54
|
+
validJson: true,
|
|
55
|
+
refs: false,
|
|
56
|
+
unions: false,
|
|
57
|
+
formats: false,
|
|
58
|
+
toolNameLength: 50,
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
|
|
22
62
|
/**
|
|
23
63
|
* Attempts to parse strings into JSON objects
|
|
24
64
|
*/
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
2
2
|
import { init, selectTools, server } from './server';
|
|
3
3
|
import { Endpoint, endpoints } from './tools';
|
|
4
|
-
import {
|
|
4
|
+
import { McpOptions, parseOptions } from './options';
|
|
5
5
|
|
|
6
6
|
async function main() {
|
|
7
7
|
const options = parseOptionsOrError();
|
|
@@ -41,7 +41,7 @@ function parseOptionsOrError() {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
function selectToolsOrError(endpoints: Endpoint[], options:
|
|
44
|
+
function selectToolsOrError(endpoints: Endpoint[], options: McpOptions) {
|
|
45
45
|
try {
|
|
46
46
|
const includedTools = selectTools(endpoints, options);
|
|
47
47
|
if (includedTools.length === 0) {
|
package/src/options.ts
CHANGED
|
@@ -1,55 +1,19 @@
|
|
|
1
1
|
import yargs from 'yargs';
|
|
2
2
|
import { hideBin } from 'yargs/helpers';
|
|
3
3
|
import { endpoints, Filter } from './tools';
|
|
4
|
-
import { ClientCapabilities } from './compat';
|
|
4
|
+
import { ClientCapabilities, knownClients, ClientType } from './compat';
|
|
5
5
|
|
|
6
|
-
type
|
|
7
|
-
|
|
8
|
-
// Client presets for compatibility
|
|
9
|
-
// Note that these could change over time as models get better, so this is
|
|
10
|
-
// a best effort.
|
|
11
|
-
const CLIENT_PRESETS: Record<ClientType, ClientCapabilities> = {
|
|
12
|
-
'openai-agents': {
|
|
13
|
-
topLevelUnions: false,
|
|
14
|
-
validJson: true,
|
|
15
|
-
refs: true,
|
|
16
|
-
unions: true,
|
|
17
|
-
formats: true,
|
|
18
|
-
toolNameLength: undefined,
|
|
19
|
-
},
|
|
20
|
-
claude: {
|
|
21
|
-
topLevelUnions: true,
|
|
22
|
-
validJson: false,
|
|
23
|
-
refs: true,
|
|
24
|
-
unions: true,
|
|
25
|
-
formats: true,
|
|
26
|
-
toolNameLength: undefined,
|
|
27
|
-
},
|
|
28
|
-
'claude-code': {
|
|
29
|
-
topLevelUnions: false,
|
|
30
|
-
validJson: true,
|
|
31
|
-
refs: true,
|
|
32
|
-
unions: true,
|
|
33
|
-
formats: true,
|
|
34
|
-
toolNameLength: undefined,
|
|
35
|
-
},
|
|
36
|
-
cursor: {
|
|
37
|
-
topLevelUnions: false,
|
|
38
|
-
validJson: true,
|
|
39
|
-
refs: false,
|
|
40
|
-
unions: false,
|
|
41
|
-
formats: false,
|
|
42
|
-
toolNameLength: 50,
|
|
43
|
-
},
|
|
6
|
+
export type CLIOptions = McpOptions & {
|
|
7
|
+
list: boolean;
|
|
44
8
|
};
|
|
45
9
|
|
|
46
|
-
export
|
|
10
|
+
export type McpOptions = {
|
|
11
|
+
client: ClientType | undefined;
|
|
47
12
|
includeDynamicTools: boolean | undefined;
|
|
48
13
|
includeAllTools: boolean | undefined;
|
|
49
14
|
filters: Filter[];
|
|
50
|
-
capabilities
|
|
51
|
-
|
|
52
|
-
}
|
|
15
|
+
capabilities?: Partial<ClientCapabilities>;
|
|
16
|
+
};
|
|
53
17
|
|
|
54
18
|
const CAPABILITY_CHOICES = [
|
|
55
19
|
'top-level-unions',
|
|
@@ -80,7 +44,7 @@ function parseCapabilityValue(cap: string): { name: Capability; value?: number }
|
|
|
80
44
|
return { name: cap as Capability };
|
|
81
45
|
}
|
|
82
46
|
|
|
83
|
-
export function parseOptions():
|
|
47
|
+
export function parseOptions(): CLIOptions {
|
|
84
48
|
const opts = yargs(hideBin(process.argv))
|
|
85
49
|
.option('tools', {
|
|
86
50
|
type: 'string',
|
|
@@ -141,7 +105,7 @@ export function parseOptions(): ParsedOptions {
|
|
|
141
105
|
})
|
|
142
106
|
.option('client', {
|
|
143
107
|
type: 'string',
|
|
144
|
-
choices: Object.keys(
|
|
108
|
+
choices: Object.keys(knownClients),
|
|
145
109
|
description: 'Specify the MCP client being used',
|
|
146
110
|
})
|
|
147
111
|
.option('capability', {
|
|
@@ -229,14 +193,6 @@ export function parseOptions(): ParsedOptions {
|
|
|
229
193
|
toolNameLength: undefined,
|
|
230
194
|
};
|
|
231
195
|
|
|
232
|
-
// Apply client preset if specified
|
|
233
|
-
if (typeof argv.client === 'string') {
|
|
234
|
-
const clientKey = argv.client as ClientType;
|
|
235
|
-
if (CLIENT_PRESETS[clientKey]) {
|
|
236
|
-
Object.assign(clientCapabilities, CLIENT_PRESETS[clientKey]);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
196
|
// Apply individual capability overrides
|
|
241
197
|
if (Array.isArray(argv.capability)) {
|
|
242
198
|
for (const cap of argv.capability) {
|
|
@@ -282,7 +238,9 @@ export function parseOptions(): ParsedOptions {
|
|
|
282
238
|
const includeAllTools =
|
|
283
239
|
explicitTools ? argv.tools?.includes('all') && !argv.noTools?.includes('all') : undefined;
|
|
284
240
|
|
|
241
|
+
const client = argv.client as ClientType;
|
|
285
242
|
return {
|
|
243
|
+
client: client && knownClients[client] ? client : undefined,
|
|
286
244
|
includeDynamicTools,
|
|
287
245
|
includeAllTools,
|
|
288
246
|
filters,
|
|
@@ -323,7 +281,7 @@ Client Presets (--client):
|
|
|
323
281
|
Presets like '--client=openai-agents' or '--client=cursor' automatically configure these capabilities based on current known limitations of those clients, simplifying setup.
|
|
324
282
|
|
|
325
283
|
Current presets:
|
|
326
|
-
${JSON.stringify(
|
|
284
|
+
${JSON.stringify(knownClients, null, 2)}
|
|
327
285
|
`;
|
|
328
286
|
}
|
|
329
287
|
|
package/src/server.ts
CHANGED
|
@@ -4,22 +4,29 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
|
4
4
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
5
|
import { Endpoint, endpoints, HandlerFunction, query } from './tools';
|
|
6
6
|
import { CallToolRequestSchema, ListToolsRequestSchema, Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
+
import { ClientOptions } from 'scorecard-ai';
|
|
7
8
|
import Scorecard from 'scorecard-ai';
|
|
8
9
|
import {
|
|
9
10
|
applyCompatibilityTransformations,
|
|
10
11
|
ClientCapabilities,
|
|
11
12
|
defaultClientCapabilities,
|
|
13
|
+
knownClients,
|
|
12
14
|
parseEmbeddedJSON,
|
|
13
15
|
} from './compat';
|
|
14
16
|
import { dynamicTools } from './dynamic-tools';
|
|
15
|
-
import {
|
|
17
|
+
import { McpOptions } from './options';
|
|
18
|
+
|
|
19
|
+
export { McpOptions } from './options';
|
|
20
|
+
export { ClientType } from './compat';
|
|
21
|
+
export { Filter } from './tools';
|
|
22
|
+
export { ClientOptions } from 'scorecard-ai';
|
|
16
23
|
export { endpoints } from './tools';
|
|
17
24
|
|
|
18
25
|
// Create server instance
|
|
19
26
|
export const server = new McpServer(
|
|
20
27
|
{
|
|
21
28
|
name: 'scorecard_ai_api',
|
|
22
|
-
version: '1.
|
|
29
|
+
version: '1.1.0',
|
|
23
30
|
},
|
|
24
31
|
{
|
|
25
32
|
capabilities: {
|
|
@@ -32,6 +39,21 @@ export const server = new McpServer(
|
|
|
32
39
|
* Initializes the provided MCP Server with the given tools and handlers.
|
|
33
40
|
* If not provided, the default client, tools and handlers will be used.
|
|
34
41
|
*/
|
|
42
|
+
export function initMcpServer(params: {
|
|
43
|
+
server: Server | McpServer;
|
|
44
|
+
clientOptions: ClientOptions;
|
|
45
|
+
mcpOptions: McpOptions;
|
|
46
|
+
endpoints?: { tool: Tool; handler: HandlerFunction }[];
|
|
47
|
+
}) {
|
|
48
|
+
const transformedEndpoints = selectTools(endpoints, params.mcpOptions);
|
|
49
|
+
const client = new Scorecard(params.clientOptions);
|
|
50
|
+
const capabilities = {
|
|
51
|
+
...defaultClientCapabilities,
|
|
52
|
+
...(params.mcpOptions.client ? knownClients[params.mcpOptions.client] : params.mcpOptions.capabilities),
|
|
53
|
+
};
|
|
54
|
+
init({ server: params.server, client, endpoints: transformedEndpoints, capabilities });
|
|
55
|
+
}
|
|
56
|
+
|
|
35
57
|
export function init(params: {
|
|
36
58
|
server: Server | McpServer;
|
|
37
59
|
client?: Scorecard;
|
|
@@ -66,24 +88,27 @@ export function init(params: {
|
|
|
66
88
|
/**
|
|
67
89
|
* Selects the tools to include in the MCP Server based on the provided options.
|
|
68
90
|
*/
|
|
69
|
-
export function selectTools(endpoints: Endpoint[], options:
|
|
91
|
+
export function selectTools(endpoints: Endpoint[], options: McpOptions) {
|
|
70
92
|
const filteredEndpoints = query(options.filters, endpoints);
|
|
71
93
|
|
|
72
|
-
|
|
94
|
+
let includedTools = filteredEndpoints;
|
|
73
95
|
|
|
74
|
-
if (
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
96
|
+
if (includedTools.length > 0) {
|
|
97
|
+
if (options.includeDynamicTools) {
|
|
98
|
+
includedTools = dynamicTools(includedTools);
|
|
99
|
+
}
|
|
100
|
+
} else {
|
|
101
|
+
if (options.includeAllTools) {
|
|
102
|
+
includedTools = endpoints;
|
|
103
|
+
} else if (options.includeDynamicTools) {
|
|
104
|
+
includedTools = dynamicTools(endpoints);
|
|
105
|
+
} else {
|
|
106
|
+
includedTools = endpoints;
|
|
107
|
+
}
|
|
84
108
|
}
|
|
85
109
|
|
|
86
|
-
|
|
110
|
+
const capabilities = { ...defaultClientCapabilities, ...options.capabilities };
|
|
111
|
+
return applyCompatibilityTransformations(includedTools, capabilities);
|
|
87
112
|
}
|
|
88
113
|
|
|
89
114
|
/**
|