scorecard-ai-mcp 1.0.0-alpha.4

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.
Files changed (274) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +228 -0
  3. package/compat.d.mts +53 -0
  4. package/compat.d.mts.map +1 -0
  5. package/compat.d.ts +53 -0
  6. package/compat.d.ts.map +1 -0
  7. package/compat.js +351 -0
  8. package/compat.js.map +1 -0
  9. package/compat.mjs +338 -0
  10. package/compat.mjs.map +1 -0
  11. package/compat.test.d.mts +2 -0
  12. package/compat.test.d.mts.map +1 -0
  13. package/compat.test.d.ts +2 -0
  14. package/compat.test.d.ts.map +1 -0
  15. package/compat.test.js +950 -0
  16. package/compat.test.js.map +1 -0
  17. package/compat.test.mjs +948 -0
  18. package/compat.test.mjs.map +1 -0
  19. package/index.d.mts +2 -0
  20. package/index.d.mts.map +1 -0
  21. package/index.d.ts +2 -0
  22. package/index.d.ts.map +1 -0
  23. package/index.js +89 -0
  24. package/index.js.map +1 -0
  25. package/index.mjs +86 -0
  26. package/index.mjs.map +1 -0
  27. package/options.d.mts +9 -0
  28. package/options.d.mts.map +1 -0
  29. package/options.d.ts +9 -0
  30. package/options.d.ts.map +1 -0
  31. package/options.js +321 -0
  32. package/options.js.map +1 -0
  33. package/options.mjs +314 -0
  34. package/options.mjs.map +1 -0
  35. package/options.test.d.mts +2 -0
  36. package/options.test.d.mts.map +1 -0
  37. package/options.test.d.ts +2 -0
  38. package/options.test.d.ts.map +1 -0
  39. package/options.test.js +154 -0
  40. package/options.test.js.map +1 -0
  41. package/options.test.mjs +152 -0
  42. package/options.test.mjs.map +1 -0
  43. package/package.json +129 -0
  44. package/server.d.mts +33 -0
  45. package/server.d.mts.map +1 -0
  46. package/server.d.ts +33 -0
  47. package/server.d.ts.map +1 -0
  48. package/server.js +85 -0
  49. package/server.js.map +1 -0
  50. package/server.mjs +74 -0
  51. package/server.mjs.map +1 -0
  52. package/src/compat.test.ts +1068 -0
  53. package/src/compat.ts +437 -0
  54. package/src/index.ts +106 -0
  55. package/src/options.test.ts +193 -0
  56. package/src/options.ts +339 -0
  57. package/src/server.ts +98 -0
  58. package/src/tools/index.ts +129 -0
  59. package/src/tools/projects/list-projects.ts +39 -0
  60. package/src/tools/records/create-records.ts +47 -0
  61. package/src/tools/runs/create-runs.ts +46 -0
  62. package/src/tools/runs/update-runs.ts +44 -0
  63. package/src/tools/system-configs/create-system-configs.ts +59 -0
  64. package/src/tools/system-configs/get-system-configs.ts +34 -0
  65. package/src/tools/system-configs/list-system-configs.ts +42 -0
  66. package/src/tools/systems/create-systems.ts +52 -0
  67. package/src/tools/systems/delete-systems.ts +31 -0
  68. package/src/tools/systems/get-systems.ts +31 -0
  69. package/src/tools/systems/list-systems.ts +41 -0
  70. package/src/tools/systems/update-systems.ts +52 -0
  71. package/src/tools/testcases/create-testcases.ts +47 -0
  72. package/src/tools/testcases/delete-testcases.ts +35 -0
  73. package/src/tools/testcases/get-testcases.ts +31 -0
  74. package/src/tools/testcases/list-testcases.ts +41 -0
  75. package/src/tools/testcases/update-testcases.ts +35 -0
  76. package/src/tools/testsets/create-testsets.ts +73 -0
  77. package/src/tools/testsets/delete-testsets.ts +31 -0
  78. package/src/tools/testsets/get-testsets.ts +31 -0
  79. package/src/tools/testsets/list-testsets.ts +41 -0
  80. package/src/tools/testsets/update-testsets.ts +73 -0
  81. package/src/tools.ts +1 -0
  82. package/src/tsconfig.json +11 -0
  83. package/tools/index.d.mts +21 -0
  84. package/tools/index.d.mts.map +1 -0
  85. package/tools/index.d.ts +21 -0
  86. package/tools/index.d.ts.map +1 -0
  87. package/tools/index.js +99 -0
  88. package/tools/index.js.map +1 -0
  89. package/tools/index.mjs +92 -0
  90. package/tools/index.mjs.map +1 -0
  91. package/tools/projects/list-projects.d.mts +24 -0
  92. package/tools/projects/list-projects.d.mts.map +1 -0
  93. package/tools/projects/list-projects.d.ts +24 -0
  94. package/tools/projects/list-projects.d.ts.map +1 -0
  95. package/tools/projects/list-projects.js +33 -0
  96. package/tools/projects/list-projects.js.map +1 -0
  97. package/tools/projects/list-projects.mjs +29 -0
  98. package/tools/projects/list-projects.mjs.map +1 -0
  99. package/tools/records/create-records.d.mts +24 -0
  100. package/tools/records/create-records.d.mts.map +1 -0
  101. package/tools/records/create-records.d.ts +24 -0
  102. package/tools/records/create-records.d.ts.map +1 -0
  103. package/tools/records/create-records.js +44 -0
  104. package/tools/records/create-records.js.map +1 -0
  105. package/tools/records/create-records.mjs +40 -0
  106. package/tools/records/create-records.mjs.map +1 -0
  107. package/tools/runs/create-runs.d.mts +24 -0
  108. package/tools/runs/create-runs.d.mts.map +1 -0
  109. package/tools/runs/create-runs.d.ts +24 -0
  110. package/tools/runs/create-runs.d.ts.map +1 -0
  111. package/tools/runs/create-runs.js +43 -0
  112. package/tools/runs/create-runs.js.map +1 -0
  113. package/tools/runs/create-runs.mjs +39 -0
  114. package/tools/runs/create-runs.mjs.map +1 -0
  115. package/tools/runs/update-runs.d.mts +24 -0
  116. package/tools/runs/update-runs.d.mts.map +1 -0
  117. package/tools/runs/update-runs.d.ts +24 -0
  118. package/tools/runs/update-runs.d.ts.map +1 -0
  119. package/tools/runs/update-runs.js +41 -0
  120. package/tools/runs/update-runs.js.map +1 -0
  121. package/tools/runs/update-runs.mjs +37 -0
  122. package/tools/runs/update-runs.mjs.map +1 -0
  123. package/tools/system-configs/create-system-configs.d.mts +24 -0
  124. package/tools/system-configs/create-system-configs.d.mts.map +1 -0
  125. package/tools/system-configs/create-system-configs.d.ts +24 -0
  126. package/tools/system-configs/create-system-configs.d.ts.map +1 -0
  127. package/tools/system-configs/create-system-configs.js +54 -0
  128. package/tools/system-configs/create-system-configs.js.map +1 -0
  129. package/tools/system-configs/create-system-configs.mjs +50 -0
  130. package/tools/system-configs/create-system-configs.mjs.map +1 -0
  131. package/tools/system-configs/get-system-configs.d.mts +24 -0
  132. package/tools/system-configs/get-system-configs.d.mts.map +1 -0
  133. package/tools/system-configs/get-system-configs.d.ts +24 -0
  134. package/tools/system-configs/get-system-configs.d.ts.map +1 -0
  135. package/tools/system-configs/get-system-configs.js +31 -0
  136. package/tools/system-configs/get-system-configs.js.map +1 -0
  137. package/tools/system-configs/get-system-configs.mjs +27 -0
  138. package/tools/system-configs/get-system-configs.mjs.map +1 -0
  139. package/tools/system-configs/list-system-configs.d.mts +24 -0
  140. package/tools/system-configs/list-system-configs.d.mts.map +1 -0
  141. package/tools/system-configs/list-system-configs.d.ts +24 -0
  142. package/tools/system-configs/list-system-configs.d.ts.map +1 -0
  143. package/tools/system-configs/list-system-configs.js +36 -0
  144. package/tools/system-configs/list-system-configs.js.map +1 -0
  145. package/tools/system-configs/list-system-configs.mjs +32 -0
  146. package/tools/system-configs/list-system-configs.mjs.map +1 -0
  147. package/tools/systems/create-systems.d.mts +24 -0
  148. package/tools/systems/create-systems.d.mts.map +1 -0
  149. package/tools/systems/create-systems.d.ts +24 -0
  150. package/tools/systems/create-systems.d.ts.map +1 -0
  151. package/tools/systems/create-systems.js +48 -0
  152. package/tools/systems/create-systems.js.map +1 -0
  153. package/tools/systems/create-systems.mjs +44 -0
  154. package/tools/systems/create-systems.mjs.map +1 -0
  155. package/tools/systems/delete-systems.d.mts +24 -0
  156. package/tools/systems/delete-systems.d.mts.map +1 -0
  157. package/tools/systems/delete-systems.d.ts +24 -0
  158. package/tools/systems/delete-systems.d.ts.map +1 -0
  159. package/tools/systems/delete-systems.js +28 -0
  160. package/tools/systems/delete-systems.js.map +1 -0
  161. package/tools/systems/delete-systems.mjs +24 -0
  162. package/tools/systems/delete-systems.mjs.map +1 -0
  163. package/tools/systems/get-systems.d.mts +24 -0
  164. package/tools/systems/get-systems.d.mts.map +1 -0
  165. package/tools/systems/get-systems.d.ts +24 -0
  166. package/tools/systems/get-systems.d.ts.map +1 -0
  167. package/tools/systems/get-systems.js +28 -0
  168. package/tools/systems/get-systems.js.map +1 -0
  169. package/tools/systems/get-systems.mjs +24 -0
  170. package/tools/systems/get-systems.mjs.map +1 -0
  171. package/tools/systems/list-systems.d.mts +24 -0
  172. package/tools/systems/list-systems.d.mts.map +1 -0
  173. package/tools/systems/list-systems.d.ts +24 -0
  174. package/tools/systems/list-systems.d.ts.map +1 -0
  175. package/tools/systems/list-systems.js +36 -0
  176. package/tools/systems/list-systems.js.map +1 -0
  177. package/tools/systems/list-systems.mjs +32 -0
  178. package/tools/systems/list-systems.mjs.map +1 -0
  179. package/tools/systems/update-systems.d.mts +24 -0
  180. package/tools/systems/update-systems.d.mts.map +1 -0
  181. package/tools/systems/update-systems.d.ts +24 -0
  182. package/tools/systems/update-systems.d.ts.map +1 -0
  183. package/tools/systems/update-systems.js +48 -0
  184. package/tools/systems/update-systems.js.map +1 -0
  185. package/tools/systems/update-systems.mjs +44 -0
  186. package/tools/systems/update-systems.mjs.map +1 -0
  187. package/tools/testcases/create-testcases.d.mts +24 -0
  188. package/tools/testcases/create-testcases.d.mts.map +1 -0
  189. package/tools/testcases/create-testcases.d.ts +24 -0
  190. package/tools/testcases/create-testcases.d.ts.map +1 -0
  191. package/tools/testcases/create-testcases.js +43 -0
  192. package/tools/testcases/create-testcases.js.map +1 -0
  193. package/tools/testcases/create-testcases.mjs +39 -0
  194. package/tools/testcases/create-testcases.mjs.map +1 -0
  195. package/tools/testcases/delete-testcases.d.mts +24 -0
  196. package/tools/testcases/delete-testcases.d.mts.map +1 -0
  197. package/tools/testcases/delete-testcases.d.ts +24 -0
  198. package/tools/testcases/delete-testcases.d.ts.map +1 -0
  199. package/tools/testcases/delete-testcases.js +32 -0
  200. package/tools/testcases/delete-testcases.js.map +1 -0
  201. package/tools/testcases/delete-testcases.mjs +28 -0
  202. package/tools/testcases/delete-testcases.mjs.map +1 -0
  203. package/tools/testcases/get-testcases.d.mts +24 -0
  204. package/tools/testcases/get-testcases.d.mts.map +1 -0
  205. package/tools/testcases/get-testcases.d.ts +24 -0
  206. package/tools/testcases/get-testcases.d.ts.map +1 -0
  207. package/tools/testcases/get-testcases.js +28 -0
  208. package/tools/testcases/get-testcases.js.map +1 -0
  209. package/tools/testcases/get-testcases.mjs +24 -0
  210. package/tools/testcases/get-testcases.mjs.map +1 -0
  211. package/tools/testcases/list-testcases.d.mts +24 -0
  212. package/tools/testcases/list-testcases.d.mts.map +1 -0
  213. package/tools/testcases/list-testcases.d.ts +24 -0
  214. package/tools/testcases/list-testcases.d.ts.map +1 -0
  215. package/tools/testcases/list-testcases.js +36 -0
  216. package/tools/testcases/list-testcases.js.map +1 -0
  217. package/tools/testcases/list-testcases.mjs +32 -0
  218. package/tools/testcases/list-testcases.mjs.map +1 -0
  219. package/tools/testcases/update-testcases.d.mts +24 -0
  220. package/tools/testcases/update-testcases.d.mts.map +1 -0
  221. package/tools/testcases/update-testcases.d.ts +24 -0
  222. package/tools/testcases/update-testcases.d.ts.map +1 -0
  223. package/tools/testcases/update-testcases.js +32 -0
  224. package/tools/testcases/update-testcases.js.map +1 -0
  225. package/tools/testcases/update-testcases.mjs +28 -0
  226. package/tools/testcases/update-testcases.mjs.map +1 -0
  227. package/tools/testsets/create-testsets.d.mts +24 -0
  228. package/tools/testsets/create-testsets.d.mts.map +1 -0
  229. package/tools/testsets/create-testsets.d.ts +24 -0
  230. package/tools/testsets/create-testsets.d.ts.map +1 -0
  231. package/tools/testsets/create-testsets.js +68 -0
  232. package/tools/testsets/create-testsets.js.map +1 -0
  233. package/tools/testsets/create-testsets.mjs +64 -0
  234. package/tools/testsets/create-testsets.mjs.map +1 -0
  235. package/tools/testsets/delete-testsets.d.mts +24 -0
  236. package/tools/testsets/delete-testsets.d.mts.map +1 -0
  237. package/tools/testsets/delete-testsets.d.ts +24 -0
  238. package/tools/testsets/delete-testsets.d.ts.map +1 -0
  239. package/tools/testsets/delete-testsets.js +28 -0
  240. package/tools/testsets/delete-testsets.js.map +1 -0
  241. package/tools/testsets/delete-testsets.mjs +24 -0
  242. package/tools/testsets/delete-testsets.mjs.map +1 -0
  243. package/tools/testsets/get-testsets.d.mts +24 -0
  244. package/tools/testsets/get-testsets.d.mts.map +1 -0
  245. package/tools/testsets/get-testsets.d.ts +24 -0
  246. package/tools/testsets/get-testsets.d.ts.map +1 -0
  247. package/tools/testsets/get-testsets.js +28 -0
  248. package/tools/testsets/get-testsets.js.map +1 -0
  249. package/tools/testsets/get-testsets.mjs +24 -0
  250. package/tools/testsets/get-testsets.mjs.map +1 -0
  251. package/tools/testsets/list-testsets.d.mts +24 -0
  252. package/tools/testsets/list-testsets.d.mts.map +1 -0
  253. package/tools/testsets/list-testsets.d.ts +24 -0
  254. package/tools/testsets/list-testsets.d.ts.map +1 -0
  255. package/tools/testsets/list-testsets.js +36 -0
  256. package/tools/testsets/list-testsets.js.map +1 -0
  257. package/tools/testsets/list-testsets.mjs +32 -0
  258. package/tools/testsets/list-testsets.mjs.map +1 -0
  259. package/tools/testsets/update-testsets.d.mts +24 -0
  260. package/tools/testsets/update-testsets.d.mts.map +1 -0
  261. package/tools/testsets/update-testsets.d.ts +24 -0
  262. package/tools/testsets/update-testsets.d.ts.map +1 -0
  263. package/tools/testsets/update-testsets.js +68 -0
  264. package/tools/testsets/update-testsets.js.map +1 -0
  265. package/tools/testsets/update-testsets.mjs +64 -0
  266. package/tools/testsets/update-testsets.mjs.map +1 -0
  267. package/tools.d.mts +2 -0
  268. package/tools.d.mts.map +1 -0
  269. package/tools.d.ts +2 -0
  270. package/tools.d.ts.map +1 -0
  271. package/tools.js +18 -0
  272. package/tools.js.map +1 -0
  273. package/tools.mjs +2 -0
  274. package/tools.mjs.map +1 -0
package/package.json ADDED
@@ -0,0 +1,129 @@
1
+ {
2
+ "name": "scorecard-ai-mcp",
3
+ "version": "1.0.0-alpha.4",
4
+ "description": "The official MCP Server for the Scorecard API",
5
+ "author": "Scorecard <team@scorecard.io>",
6
+ "types": "./index.d.ts",
7
+ "main": "./index.js",
8
+ "type": "commonjs",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/scorecard-ai/scorecard-node.git",
12
+ "directory": "packages/mcp-server"
13
+ },
14
+ "homepage": "https://github.com/scorecard-ai/scorecard-node/tree/main/packages/mcp-server#readme",
15
+ "license": "Apache-2.0",
16
+ "packageManager": "yarn@1.22.22",
17
+ "private": false,
18
+ "scripts": {
19
+ "test": "jest",
20
+ "build": "bash ./build",
21
+ "format": "prettier --write --cache --cache-strategy metadata . !dist",
22
+ "tsn": "ts-node -r tsconfig-paths/register",
23
+ "lint": "eslint --ext ts,js .",
24
+ "fix": "eslint --fix --ext ts,js ."
25
+ },
26
+ "dependencies": {
27
+ "scorecard-ai": "^1.0.0-alpha.4",
28
+ "@modelcontextprotocol/sdk": "^1.6.1",
29
+ "yargs": "^17.7.2",
30
+ "ajv": "^8.17.1"
31
+ },
32
+ "bin": {
33
+ "mcp-server": "./index.js"
34
+ },
35
+ "imports": {
36
+ "scorecard-ai-mcp": ".",
37
+ "scorecard-ai-mcp/*": "./src/*"
38
+ },
39
+ "exports": {
40
+ ".": {
41
+ "require": {
42
+ "types": "./index.d.ts",
43
+ "default": "./index.js"
44
+ },
45
+ "types": "./index.d.mts",
46
+ "default": "./index.mjs"
47
+ },
48
+ "./compat": {
49
+ "import": "./compat.mjs",
50
+ "require": "./compat.js"
51
+ },
52
+ "./compat.js": {
53
+ "default": "./compat.js"
54
+ },
55
+ "./compat.mjs": {
56
+ "default": "./compat.mjs"
57
+ },
58
+ "./compat.test": {
59
+ "import": "./compat.test.mjs",
60
+ "require": "./compat.test.js"
61
+ },
62
+ "./compat.test.js": {
63
+ "default": "./compat.test.js"
64
+ },
65
+ "./compat.test.mjs": {
66
+ "default": "./compat.test.mjs"
67
+ },
68
+ "./index": {
69
+ "import": "./index.mjs",
70
+ "require": "./index.js"
71
+ },
72
+ "./index.js": {
73
+ "default": "./index.js"
74
+ },
75
+ "./index.mjs": {
76
+ "default": "./index.mjs"
77
+ },
78
+ "./options": {
79
+ "import": "./options.mjs",
80
+ "require": "./options.js"
81
+ },
82
+ "./options.js": {
83
+ "default": "./options.js"
84
+ },
85
+ "./options.mjs": {
86
+ "default": "./options.mjs"
87
+ },
88
+ "./options.test": {
89
+ "import": "./options.test.mjs",
90
+ "require": "./options.test.js"
91
+ },
92
+ "./options.test.js": {
93
+ "default": "./options.test.js"
94
+ },
95
+ "./options.test.mjs": {
96
+ "default": "./options.test.mjs"
97
+ },
98
+ "./server": {
99
+ "import": "./server.mjs",
100
+ "require": "./server.js"
101
+ },
102
+ "./server.js": {
103
+ "default": "./server.js"
104
+ },
105
+ "./server.mjs": {
106
+ "default": "./server.mjs"
107
+ },
108
+ "./tools/*.mjs": {
109
+ "default": "./tools/*.mjs"
110
+ },
111
+ "./tools/*.js": {
112
+ "default": "./tools/*.js"
113
+ },
114
+ "./tools/*": {
115
+ "import": "./tools/*.mjs",
116
+ "require": "./tools/*.js"
117
+ },
118
+ "./tools": {
119
+ "import": "./tools.mjs",
120
+ "require": "./tools.js"
121
+ },
122
+ "./tools.js": {
123
+ "default": "./tools.js"
124
+ },
125
+ "./tools.mjs": {
126
+ "default": "./tools.mjs"
127
+ }
128
+ }
129
+ }
package/server.d.mts ADDED
@@ -0,0 +1,33 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { HandlerFunction } from "./tools.mjs";
4
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ import Scorecard from 'scorecard-ai';
6
+ import { ClientCapabilities } from "./compat.mjs";
7
+ export { endpoints } from "./tools.mjs";
8
+ export declare const server: McpServer;
9
+ /**
10
+ * Initializes the provided MCP Server with the given tools and handlers.
11
+ * If not provided, the default client, tools and handlers will be used.
12
+ */
13
+ export declare function init(params: {
14
+ server: Server | McpServer;
15
+ client?: Scorecard;
16
+ endpoints?: {
17
+ tool: Tool;
18
+ handler: HandlerFunction;
19
+ }[];
20
+ capabilities?: Partial<ClientCapabilities>;
21
+ }): void;
22
+ /**
23
+ * Runs the provided handler with the given client and arguments.
24
+ */
25
+ export declare function executeHandler(tool: Tool, handler: HandlerFunction, client: Scorecard, args: Record<string, unknown> | undefined, compatibilityOptions?: Partial<ClientCapabilities>): Promise<{
26
+ content: {
27
+ type: string;
28
+ text: string;
29
+ }[];
30
+ }>;
31
+ export declare const readEnv: (env: string) => string | undefined;
32
+ export declare const readEnvOrError: (env: string) => string;
33
+ //# sourceMappingURL=server.d.mts.map
@@ -0,0 +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,EAAE;OAC9B,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,SAAS,MAAM,cAAc;OAC7B,EAAE,kBAAkB,EAAgD;OACpE,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,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,QAAS,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAM5C,CAAC"}
package/server.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { HandlerFunction } from "./tools.js";
4
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ import Scorecard from 'scorecard-ai';
6
+ import { ClientCapabilities } from "./compat.js";
7
+ export { endpoints } from "./tools.js";
8
+ export declare const server: McpServer;
9
+ /**
10
+ * Initializes the provided MCP Server with the given tools and handlers.
11
+ * If not provided, the default client, tools and handlers will be used.
12
+ */
13
+ export declare function init(params: {
14
+ server: Server | McpServer;
15
+ client?: Scorecard;
16
+ endpoints?: {
17
+ tool: Tool;
18
+ handler: HandlerFunction;
19
+ }[];
20
+ capabilities?: Partial<ClientCapabilities>;
21
+ }): void;
22
+ /**
23
+ * Runs the provided handler with the given client and arguments.
24
+ */
25
+ export declare function executeHandler(tool: Tool, handler: HandlerFunction, client: Scorecard, args: Record<string, unknown> | undefined, compatibilityOptions?: Partial<ClientCapabilities>): Promise<{
26
+ content: {
27
+ type: string;
28
+ text: string;
29
+ }[];
30
+ }>;
31
+ export declare const readEnv: (env: string) => string | undefined;
32
+ export declare const readEnvOrError: (env: string) => string;
33
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +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,EAAE;OAC9B,EAAiD,IAAI,EAAE,MAAM,oCAAoC;OACjG,SAAS,MAAM,cAAc;OAC7B,EAAE,kBAAkB,EAAgD;OACpE,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,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,QAAS,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAM5C,CAAC"}
package/server.js ADDED
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.readEnvOrError = exports.readEnv = exports.executeHandler = exports.init = exports.server = exports.endpoints = void 0;
8
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
9
+ const tools_1 = require("./tools.js");
10
+ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
11
+ const scorecard_ai_1 = __importDefault(require("scorecard-ai"));
12
+ const compat_1 = require("./compat.js");
13
+ var tools_2 = require("./tools.js");
14
+ Object.defineProperty(exports, "endpoints", { enumerable: true, get: function () { return tools_2.endpoints; } });
15
+ // Create server instance
16
+ exports.server = new mcp_js_1.McpServer({
17
+ name: 'scorecard_ai_api',
18
+ version: '1.0.0-alpha.4',
19
+ }, {
20
+ capabilities: {
21
+ tools: {},
22
+ },
23
+ });
24
+ /**
25
+ * Initializes the provided MCP Server with the given tools and handlers.
26
+ * If not provided, the default client, tools and handlers will be used.
27
+ */
28
+ function init(params) {
29
+ const server = params.server instanceof mcp_js_1.McpServer ? params.server.server : params.server;
30
+ const providedEndpoints = params.endpoints || tools_1.endpoints;
31
+ const endpointMap = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint]));
32
+ const client = params.client || new scorecard_ai_1.default({});
33
+ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
34
+ return {
35
+ tools: providedEndpoints.map((endpoint) => endpoint.tool),
36
+ };
37
+ });
38
+ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
39
+ const { name, arguments: args } = request.params;
40
+ const endpoint = endpointMap[name];
41
+ if (!endpoint) {
42
+ throw new Error(`Unknown tool: ${name}`);
43
+ }
44
+ return executeHandler(endpoint.tool, endpoint.handler, client, args, params.capabilities);
45
+ });
46
+ }
47
+ exports.init = init;
48
+ /**
49
+ * Runs the provided handler with the given client and arguments.
50
+ */
51
+ async function executeHandler(tool, handler, client, args, compatibilityOptions) {
52
+ const options = { ...compat_1.defaultClientCapabilities, ...compatibilityOptions };
53
+ if (options.validJson && args) {
54
+ args = args = (0, compat_1.parseEmbeddedJSON)(args, tool.inputSchema);
55
+ }
56
+ const result = await handler(client, args || {});
57
+ return {
58
+ content: [
59
+ {
60
+ type: 'text',
61
+ text: JSON.stringify(result, null, 2),
62
+ },
63
+ ],
64
+ };
65
+ }
66
+ exports.executeHandler = executeHandler;
67
+ const readEnv = (env) => {
68
+ if (typeof globalThis.process !== 'undefined') {
69
+ return globalThis.process.env?.[env]?.trim();
70
+ }
71
+ else if (typeof globalThis.Deno !== 'undefined') {
72
+ return globalThis.Deno.env?.get?.(env)?.trim();
73
+ }
74
+ return;
75
+ };
76
+ exports.readEnv = readEnv;
77
+ const readEnvOrError = (env) => {
78
+ let envValue = (0, exports.readEnv)(env);
79
+ if (envValue === undefined) {
80
+ throw new Error(`Environment variable ${env} is not set`);
81
+ }
82
+ return envValue;
83
+ };
84
+ exports.readEnvOrError = readEnvOrError;
85
+ //# sourceMappingURL=server.js.map
package/server.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
package/server.mjs ADDED
@@ -0,0 +1,74 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { endpoints } from "./tools.mjs";
4
+ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
5
+ import Scorecard from 'scorecard-ai';
6
+ import { defaultClientCapabilities, parseEmbeddedJSON } from "./compat.mjs";
7
+ export { endpoints } from "./tools.mjs";
8
+ // Create server instance
9
+ export const server = new McpServer({
10
+ name: 'scorecard_ai_api',
11
+ version: '1.0.0-alpha.4',
12
+ }, {
13
+ capabilities: {
14
+ tools: {},
15
+ },
16
+ });
17
+ /**
18
+ * Initializes the provided MCP Server with the given tools and handlers.
19
+ * If not provided, the default client, tools and handlers will be used.
20
+ */
21
+ export function init(params) {
22
+ const server = params.server instanceof McpServer ? params.server.server : params.server;
23
+ const providedEndpoints = params.endpoints || endpoints;
24
+ const endpointMap = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint]));
25
+ const client = params.client || new Scorecard({});
26
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
27
+ return {
28
+ tools: providedEndpoints.map((endpoint) => endpoint.tool),
29
+ };
30
+ });
31
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
32
+ const { name, arguments: args } = request.params;
33
+ const endpoint = endpointMap[name];
34
+ if (!endpoint) {
35
+ throw new Error(`Unknown tool: ${name}`);
36
+ }
37
+ return executeHandler(endpoint.tool, endpoint.handler, client, args, params.capabilities);
38
+ });
39
+ }
40
+ /**
41
+ * Runs the provided handler with the given client and arguments.
42
+ */
43
+ export async function executeHandler(tool, handler, client, args, compatibilityOptions) {
44
+ const options = { ...defaultClientCapabilities, ...compatibilityOptions };
45
+ if (options.validJson && args) {
46
+ args = args = parseEmbeddedJSON(args, tool.inputSchema);
47
+ }
48
+ const result = await handler(client, args || {});
49
+ return {
50
+ content: [
51
+ {
52
+ type: 'text',
53
+ text: JSON.stringify(result, null, 2),
54
+ },
55
+ ],
56
+ };
57
+ }
58
+ export const readEnv = (env) => {
59
+ if (typeof globalThis.process !== 'undefined') {
60
+ return globalThis.process.env?.[env]?.trim();
61
+ }
62
+ else if (typeof globalThis.Deno !== 'undefined') {
63
+ return globalThis.Deno.env?.get?.(env)?.trim();
64
+ }
65
+ return;
66
+ };
67
+ export const readEnvOrError = (env) => {
68
+ let envValue = readEnv(env);
69
+ if (envValue === undefined) {
70
+ throw new Error(`Environment variable ${env} is not set`);
71
+ }
72
+ return envValue;
73
+ };
74
+ //# sourceMappingURL=server.mjs.map
package/server.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}