cas-parser-node-mcp 1.4.1 → 1.7.2

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 (227) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +29 -147
  3. package/auth.d.mts +6 -0
  4. package/auth.d.mts.map +1 -0
  5. package/auth.d.ts +6 -0
  6. package/auth.d.ts.map +1 -0
  7. package/auth.js +22 -0
  8. package/auth.js.map +1 -0
  9. package/auth.mjs +17 -0
  10. package/auth.mjs.map +1 -0
  11. package/code-tool-types.d.mts +7 -7
  12. package/code-tool-types.d.mts.map +1 -1
  13. package/code-tool-types.d.ts +7 -7
  14. package/code-tool-types.d.ts.map +1 -1
  15. package/code-tool.d.mts +6 -3
  16. package/code-tool.d.mts.map +1 -1
  17. package/code-tool.d.ts +6 -3
  18. package/code-tool.d.ts.map +1 -1
  19. package/code-tool.js +86 -133
  20. package/code-tool.js.map +1 -1
  21. package/code-tool.mjs +86 -100
  22. package/code-tool.mjs.map +1 -1
  23. package/{tools/cas-generator/generate-cas-cas-generator.d.ts → docs-search-tool.d.mts} +23 -11
  24. package/docs-search-tool.d.mts.map +1 -0
  25. package/{tools/cas-generator/generate-cas-cas-generator.d.mts → docs-search-tool.d.ts} +23 -11
  26. package/docs-search-tool.d.ts.map +1 -0
  27. package/docs-search-tool.js +55 -0
  28. package/docs-search-tool.js.map +1 -0
  29. package/docs-search-tool.mjs +51 -0
  30. package/docs-search-tool.mjs.map +1 -0
  31. package/http.d.mts +9 -4
  32. package/http.d.mts.map +1 -1
  33. package/http.d.ts +9 -4
  34. package/http.d.ts.map +1 -1
  35. package/http.js +35 -48
  36. package/http.js.map +1 -1
  37. package/http.mjs +35 -48
  38. package/http.mjs.map +1 -1
  39. package/index.js +8 -40
  40. package/index.js.map +1 -1
  41. package/index.mjs +8 -40
  42. package/index.mjs.map +1 -1
  43. package/instructions.d.mts +2 -0
  44. package/instructions.d.mts.map +1 -0
  45. package/instructions.d.ts +2 -0
  46. package/instructions.d.ts.map +1 -0
  47. package/instructions.js +55 -0
  48. package/instructions.js.map +1 -0
  49. package/instructions.mjs +52 -0
  50. package/instructions.mjs.map +1 -0
  51. package/methods.d.mts +10 -0
  52. package/methods.d.mts.map +1 -0
  53. package/methods.d.ts +10 -0
  54. package/methods.d.ts.map +1 -0
  55. package/methods.js +167 -0
  56. package/methods.js.map +1 -0
  57. package/methods.mjs +163 -0
  58. package/methods.mjs.map +1 -0
  59. package/options.d.mts +6 -9
  60. package/options.d.mts.map +1 -1
  61. package/options.d.ts +6 -9
  62. package/options.d.ts.map +1 -1
  63. package/options.js +42 -360
  64. package/options.js.map +1 -1
  65. package/options.mjs +42 -360
  66. package/options.mjs.map +1 -1
  67. package/package.json +67 -79
  68. package/server.d.mts +10 -16
  69. package/server.d.mts.map +1 -1
  70. package/server.d.ts +10 -16
  71. package/server.d.ts.map +1 -1
  72. package/server.js +89 -101
  73. package/server.js.map +1 -1
  74. package/server.mjs +88 -96
  75. package/server.mjs.map +1 -1
  76. package/src/auth.ts +25 -0
  77. package/src/code-tool-types.ts +7 -5
  78. package/src/code-tool.ts +113 -117
  79. package/src/docs-search-tool.ts +68 -0
  80. package/src/http.ts +52 -52
  81. package/src/index.ts +9 -52
  82. package/src/instructions.ts +74 -0
  83. package/src/methods.ts +188 -0
  84. package/src/options.ts +55 -382
  85. package/src/server.ts +98 -117
  86. package/src/stdio.ts +4 -4
  87. package/src/{tools/types.ts → types.ts} +25 -5
  88. package/src/util.ts +25 -0
  89. package/stdio.d.mts +1 -1
  90. package/stdio.d.mts.map +1 -1
  91. package/stdio.d.ts +1 -1
  92. package/stdio.d.ts.map +1 -1
  93. package/stdio.js +3 -3
  94. package/stdio.js.map +1 -1
  95. package/stdio.mjs +3 -3
  96. package/stdio.mjs.map +1 -1
  97. package/{tools/types.d.mts → types.d.mts} +10 -2
  98. package/types.d.mts.map +1 -0
  99. package/{tools/types.d.ts → types.d.ts} +10 -2
  100. package/types.d.ts.map +1 -0
  101. package/{tools/types.js → types.js} +12 -0
  102. package/types.js.map +1 -0
  103. package/{tools/types.mjs → types.mjs} +11 -0
  104. package/types.mjs.map +1 -0
  105. package/util.d.mts +4 -0
  106. package/util.d.mts.map +1 -0
  107. package/util.d.ts +4 -0
  108. package/util.d.ts.map +1 -0
  109. package/util.js +30 -0
  110. package/util.js.map +1 -0
  111. package/util.mjs +24 -0
  112. package/util.mjs.map +1 -0
  113. package/code-tool-paths.cjs +0 -6
  114. package/code-tool-paths.cjs.map +0 -1
  115. package/code-tool-paths.d.cts +0 -2
  116. package/code-tool-paths.d.cts.map +0 -1
  117. package/code-tool-worker.d.mts +0 -5
  118. package/code-tool-worker.d.mts.map +0 -1
  119. package/code-tool-worker.d.ts +0 -5
  120. package/code-tool-worker.d.ts.map +0 -1
  121. package/code-tool-worker.js +0 -45
  122. package/code-tool-worker.js.map +0 -1
  123. package/code-tool-worker.mjs +0 -40
  124. package/code-tool-worker.mjs.map +0 -1
  125. package/compat.d.mts +0 -58
  126. package/compat.d.mts.map +0 -1
  127. package/compat.d.ts +0 -58
  128. package/compat.d.ts.map +0 -1
  129. package/compat.js +0 -387
  130. package/compat.js.map +0 -1
  131. package/compat.mjs +0 -378
  132. package/compat.mjs.map +0 -1
  133. package/dynamic-tools.d.mts +0 -12
  134. package/dynamic-tools.d.mts.map +0 -1
  135. package/dynamic-tools.d.ts +0 -12
  136. package/dynamic-tools.d.ts.map +0 -1
  137. package/dynamic-tools.js +0 -135
  138. package/dynamic-tools.js.map +0 -1
  139. package/dynamic-tools.mjs +0 -132
  140. package/dynamic-tools.mjs.map +0 -1
  141. package/filtering.d.mts +0 -2
  142. package/filtering.d.mts.map +0 -1
  143. package/filtering.d.ts +0 -2
  144. package/filtering.d.ts.map +0 -1
  145. package/filtering.js +0 -20
  146. package/filtering.js.map +0 -1
  147. package/filtering.mjs +0 -13
  148. package/filtering.mjs.map +0 -1
  149. package/headers.d.mts +0 -4
  150. package/headers.d.mts.map +0 -1
  151. package/headers.d.ts +0 -4
  152. package/headers.d.ts.map +0 -1
  153. package/headers.js +0 -10
  154. package/headers.js.map +0 -1
  155. package/headers.mjs +0 -6
  156. package/headers.mjs.map +0 -1
  157. package/src/code-tool-paths.cts +0 -3
  158. package/src/code-tool-worker.ts +0 -46
  159. package/src/compat.ts +0 -483
  160. package/src/dynamic-tools.ts +0 -159
  161. package/src/filtering.ts +0 -14
  162. package/src/headers.ts +0 -10
  163. package/src/tools/cas-generator/generate-cas-cas-generator.ts +0 -67
  164. package/src/tools/cas-parser/cams-kfintech-cas-parser.ts +0 -47
  165. package/src/tools/cas-parser/cdsl-cas-parser.ts +0 -47
  166. package/src/tools/cas-parser/nsdl-cas-parser.ts +0 -47
  167. package/src/tools/cas-parser/smart-parse-cas-parser.ts +0 -47
  168. package/src/tools/index.ts +0 -79
  169. package/src/tools.ts +0 -1
  170. package/tools/cas-generator/generate-cas-cas-generator.d.mts.map +0 -1
  171. package/tools/cas-generator/generate-cas-cas-generator.d.ts.map +0 -1
  172. package/tools/cas-generator/generate-cas-cas-generator.js +0 -62
  173. package/tools/cas-generator/generate-cas-cas-generator.js.map +0 -1
  174. package/tools/cas-generator/generate-cas-cas-generator.mjs +0 -58
  175. package/tools/cas-generator/generate-cas-cas-generator.mjs.map +0 -1
  176. package/tools/cas-parser/cams-kfintech-cas-parser.d.mts +0 -45
  177. package/tools/cas-parser/cams-kfintech-cas-parser.d.mts.map +0 -1
  178. package/tools/cas-parser/cams-kfintech-cas-parser.d.ts +0 -45
  179. package/tools/cas-parser/cams-kfintech-cas-parser.d.ts.map +0 -1
  180. package/tools/cas-parser/cams-kfintech-cas-parser.js +0 -43
  181. package/tools/cas-parser/cams-kfintech-cas-parser.js.map +0 -1
  182. package/tools/cas-parser/cams-kfintech-cas-parser.mjs +0 -39
  183. package/tools/cas-parser/cams-kfintech-cas-parser.mjs.map +0 -1
  184. package/tools/cas-parser/cdsl-cas-parser.d.mts +0 -45
  185. package/tools/cas-parser/cdsl-cas-parser.d.mts.map +0 -1
  186. package/tools/cas-parser/cdsl-cas-parser.d.ts +0 -45
  187. package/tools/cas-parser/cdsl-cas-parser.d.ts.map +0 -1
  188. package/tools/cas-parser/cdsl-cas-parser.js +0 -43
  189. package/tools/cas-parser/cdsl-cas-parser.js.map +0 -1
  190. package/tools/cas-parser/cdsl-cas-parser.mjs +0 -39
  191. package/tools/cas-parser/cdsl-cas-parser.mjs.map +0 -1
  192. package/tools/cas-parser/nsdl-cas-parser.d.mts +0 -45
  193. package/tools/cas-parser/nsdl-cas-parser.d.mts.map +0 -1
  194. package/tools/cas-parser/nsdl-cas-parser.d.ts +0 -45
  195. package/tools/cas-parser/nsdl-cas-parser.d.ts.map +0 -1
  196. package/tools/cas-parser/nsdl-cas-parser.js +0 -43
  197. package/tools/cas-parser/nsdl-cas-parser.js.map +0 -1
  198. package/tools/cas-parser/nsdl-cas-parser.mjs +0 -39
  199. package/tools/cas-parser/nsdl-cas-parser.mjs.map +0 -1
  200. package/tools/cas-parser/smart-parse-cas-parser.d.mts +0 -45
  201. package/tools/cas-parser/smart-parse-cas-parser.d.mts.map +0 -1
  202. package/tools/cas-parser/smart-parse-cas-parser.d.ts +0 -45
  203. package/tools/cas-parser/smart-parse-cas-parser.d.ts.map +0 -1
  204. package/tools/cas-parser/smart-parse-cas-parser.js +0 -43
  205. package/tools/cas-parser/smart-parse-cas-parser.js.map +0 -1
  206. package/tools/cas-parser/smart-parse-cas-parser.mjs +0 -39
  207. package/tools/cas-parser/smart-parse-cas-parser.mjs.map +0 -1
  208. package/tools/index.d.mts +0 -10
  209. package/tools/index.d.mts.map +0 -1
  210. package/tools/index.d.ts +0 -10
  211. package/tools/index.d.ts.map +0 -1
  212. package/tools/index.js +0 -63
  213. package/tools/index.js.map +0 -1
  214. package/tools/index.mjs +0 -56
  215. package/tools/index.mjs.map +0 -1
  216. package/tools/types.d.mts.map +0 -1
  217. package/tools/types.d.ts.map +0 -1
  218. package/tools/types.js.map +0 -1
  219. package/tools/types.mjs.map +0 -1
  220. package/tools.d.mts +0 -2
  221. package/tools.d.mts.map +0 -1
  222. package/tools.d.ts +0 -2
  223. package/tools.d.ts.map +0 -1
  224. package/tools.js +0 -18
  225. package/tools.js.map +0 -1
  226. package/tools.mjs +0 -2
  227. package/tools.mjs.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cas-parser-node-mcp",
3
- "version": "1.4.1",
3
+ "version": "1.7.2",
4
4
  "description": "The official MCP Server for the Cas Parser API",
5
5
  "author": "Cas Parser <sameer@casparser.in>",
6
6
  "types": "./index.d.ts",
@@ -13,28 +13,24 @@
13
13
  },
14
14
  "homepage": "https://github.com/CASParser/cas-parser-node/tree/main/packages/mcp-server#readme",
15
15
  "license": "Apache-2.0",
16
- "packageManager": "yarn@1.22.22",
17
16
  "private": false,
18
17
  "publishConfig": {
19
18
  "access": "public"
20
19
  },
21
- "scripts": {
22
- "test": "jest",
23
- "build": "bash ./build",
24
- "format": "prettier --write --cache --cache-strategy metadata . !dist",
25
- "tsn": "ts-node -r tsconfig-paths/register",
26
- "lint": "eslint --ext ts,js .",
27
- "fix": "eslint --fix --ext ts,js ."
28
- },
29
20
  "dependencies": {
30
- "cas-parser-node": "^1.4.1",
21
+ "cas-parser-node": "^1.7.2",
31
22
  "@cloudflare/cabidela": "^0.2.4",
32
- "@modelcontextprotocol/sdk": "^1.11.5",
23
+ "@modelcontextprotocol/sdk": "^1.25.2",
33
24
  "@valtown/deno-http-worker": "^0.0.21",
25
+ "cookie-parser": "^1.4.6",
34
26
  "cors": "^2.8.5",
35
27
  "express": "^5.1.0",
36
- "jq-web": "https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz",
37
- "qs": "^6.14.0",
28
+ "fuse.js": "^7.1.0",
29
+ "jq-web": "https://github.com/stainless-api/jq-web/releases/download/v0.8.8/jq-web.tar.gz",
30
+ "morgan": "^1.10.0",
31
+ "morgan-body": "^2.6.9",
32
+ "qs": "^6.14.1",
33
+ "typescript": "5.8.3",
38
34
  "yargs": "^17.7.2",
39
35
  "zod": "^3.25.20",
40
36
  "zod-to-json-schema": "^3.24.5",
@@ -56,11 +52,15 @@
56
52
  "types": "./index.d.mts",
57
53
  "default": "./index.mjs"
58
54
  },
59
- "./code-tool-paths": {
60
- "require": "./code-tool-paths.cjs"
55
+ "./auth": {
56
+ "import": "./auth.mjs",
57
+ "require": "./auth.js"
58
+ },
59
+ "./auth.js": {
60
+ "default": "./auth.js"
61
61
  },
62
- "./code-tool-paths.cjs": {
63
- "default": "./code-tool-paths.cjs"
62
+ "./auth.mjs": {
63
+ "default": "./auth.mjs"
64
64
  },
65
65
  "./code-tool-types": {
66
66
  "import": "./code-tool-types.mjs",
@@ -72,16 +72,6 @@
72
72
  "./code-tool-types.mjs": {
73
73
  "default": "./code-tool-types.mjs"
74
74
  },
75
- "./code-tool-worker": {
76
- "import": "./code-tool-worker.mjs",
77
- "require": "./code-tool-worker.js"
78
- },
79
- "./code-tool-worker.js": {
80
- "default": "./code-tool-worker.js"
81
- },
82
- "./code-tool-worker.mjs": {
83
- "default": "./code-tool-worker.mjs"
84
- },
85
75
  "./code-tool": {
86
76
  "import": "./code-tool.mjs",
87
77
  "require": "./code-tool.js"
@@ -92,45 +82,15 @@
92
82
  "./code-tool.mjs": {
93
83
  "default": "./code-tool.mjs"
94
84
  },
95
- "./compat": {
96
- "import": "./compat.mjs",
97
- "require": "./compat.js"
98
- },
99
- "./compat.js": {
100
- "default": "./compat.js"
101
- },
102
- "./compat.mjs": {
103
- "default": "./compat.mjs"
104
- },
105
- "./dynamic-tools": {
106
- "import": "./dynamic-tools.mjs",
107
- "require": "./dynamic-tools.js"
108
- },
109
- "./dynamic-tools.js": {
110
- "default": "./dynamic-tools.js"
111
- },
112
- "./dynamic-tools.mjs": {
113
- "default": "./dynamic-tools.mjs"
114
- },
115
- "./filtering": {
116
- "import": "./filtering.mjs",
117
- "require": "./filtering.js"
85
+ "./docs-search-tool": {
86
+ "import": "./docs-search-tool.mjs",
87
+ "require": "./docs-search-tool.js"
118
88
  },
119
- "./filtering.js": {
120
- "default": "./filtering.js"
89
+ "./docs-search-tool.js": {
90
+ "default": "./docs-search-tool.js"
121
91
  },
122
- "./filtering.mjs": {
123
- "default": "./filtering.mjs"
124
- },
125
- "./headers": {
126
- "import": "./headers.mjs",
127
- "require": "./headers.js"
128
- },
129
- "./headers.js": {
130
- "default": "./headers.js"
131
- },
132
- "./headers.mjs": {
133
- "default": "./headers.mjs"
92
+ "./docs-search-tool.mjs": {
93
+ "default": "./docs-search-tool.mjs"
134
94
  },
135
95
  "./http": {
136
96
  "import": "./http.mjs",
@@ -152,6 +112,26 @@
152
112
  "./index.mjs": {
153
113
  "default": "./index.mjs"
154
114
  },
115
+ "./instructions": {
116
+ "import": "./instructions.mjs",
117
+ "require": "./instructions.js"
118
+ },
119
+ "./instructions.js": {
120
+ "default": "./instructions.js"
121
+ },
122
+ "./instructions.mjs": {
123
+ "default": "./instructions.mjs"
124
+ },
125
+ "./methods": {
126
+ "import": "./methods.mjs",
127
+ "require": "./methods.js"
128
+ },
129
+ "./methods.js": {
130
+ "default": "./methods.js"
131
+ },
132
+ "./methods.mjs": {
133
+ "default": "./methods.mjs"
134
+ },
155
135
  "./options": {
156
136
  "import": "./options.mjs",
157
137
  "require": "./options.js"
@@ -182,25 +162,33 @@
182
162
  "./stdio.mjs": {
183
163
  "default": "./stdio.mjs"
184
164
  },
185
- "./tools/*.mjs": {
186
- "default": "./tools/*.mjs"
165
+ "./types": {
166
+ "import": "./types.mjs",
167
+ "require": "./types.js"
187
168
  },
188
- "./tools/*.js": {
189
- "default": "./tools/*.js"
169
+ "./types.js": {
170
+ "default": "./types.js"
190
171
  },
191
- "./tools/*": {
192
- "import": "./tools/*.mjs",
193
- "require": "./tools/*.js"
172
+ "./types.mjs": {
173
+ "default": "./types.mjs"
194
174
  },
195
- "./tools": {
196
- "import": "./tools.mjs",
197
- "require": "./tools.js"
175
+ "./util": {
176
+ "import": "./util.mjs",
177
+ "require": "./util.js"
198
178
  },
199
- "./tools.js": {
200
- "default": "./tools.js"
179
+ "./util.js": {
180
+ "default": "./util.js"
201
181
  },
202
- "./tools.mjs": {
203
- "default": "./tools.mjs"
182
+ "./util.mjs": {
183
+ "default": "./util.mjs"
204
184
  }
185
+ },
186
+ "scripts": {
187
+ "test": "jest",
188
+ "build": "bash ./build",
189
+ "format": "prettier --write --cache --cache-strategy metadata . !dist",
190
+ "tsn": "ts-node -r tsconfig-paths/register",
191
+ "lint": "eslint --ext ts,js .",
192
+ "fix": "eslint --fix --ext ts,js ."
205
193
  }
206
194
  }
package/server.d.mts CHANGED
@@ -1,18 +1,9 @@
1
1
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
2
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
- import { Endpoint, HandlerFunction } from "./tools.mjs";
4
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
5
3
  import { ClientOptions } from 'cas-parser-node';
6
- import CasParser from 'cas-parser-node';
7
- import { ClientCapabilities } from "./compat.mjs";
8
4
  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 'cas-parser-node';
13
- export { endpoints } from "./tools.mjs";
14
- export declare const newMcpServer: () => McpServer;
15
- export declare const server: McpServer;
5
+ import { HandlerFunction, McpRequestContext, ToolCallResult, McpTool } from "./types.mjs";
6
+ export declare const newMcpServer: (stainlessApiKey: string | undefined) => Promise<McpServer>;
16
7
  /**
17
8
  * Initializes the provided MCP Server with the given tools and handlers.
18
9
  * If not provided, the default client, tools and handlers will be used.
@@ -21,15 +12,18 @@ export declare function initMcpServer(params: {
21
12
  server: Server | McpServer;
22
13
  clientOptions?: ClientOptions;
23
14
  mcpOptions?: McpOptions;
24
- }): void;
15
+ stainlessApiKey?: string | undefined;
16
+ }): Promise<void>;
25
17
  /**
26
18
  * Selects the tools to include in the MCP Server based on the provided options.
27
19
  */
28
- export declare function selectTools(endpoints: Endpoint[], options?: McpOptions): Promise<Endpoint[]>;
20
+ export declare function selectTools(options?: McpOptions): McpTool[];
29
21
  /**
30
22
  * Runs the provided handler with the given client and arguments.
31
23
  */
32
- export declare function executeHandler(tool: Tool, handler: HandlerFunction, client: CasParser, args: Record<string, unknown> | undefined, compatibilityOptions?: Partial<ClientCapabilities>): Promise<import("./tools/types").ToolCallResult>;
33
- export declare const readEnv: (env: string) => string | undefined;
34
- export declare const readEnvOrError: (env: string) => string;
24
+ export declare function executeHandler({ handler, reqContext, args, }: {
25
+ handler: HandlerFunction;
26
+ reqContext: McpRequestContext;
27
+ args: Record<string, unknown> | undefined;
28
+ }): Promise<ToolCallResult>;
35
29
  //# sourceMappingURL=server.d.mts.map
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,EAKL,IAAI,EACL,MAAM,oCAAoC;OACpC,EAAE,aAAa,EAAE,MAAM,iBAAiB;OACxC,SAAS,MAAM,iBAAiB;OAChC,EAEL,kBAAkB,EAInB;OAGM,EAAE,UAAU,EAAE;OAEd,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE,MAAM,iBAAiB;OACxC,EAAE,SAAS,EAAE;AAEpB,eAAO,MAAM,YAAY,iBAOtB,CAAC;AAGJ,eAAO,MAAM,MAAM,WAAiB,CAAC;AAErC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,QA0FA;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAuBlG;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"}
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;OAM5D,EAAE,aAAa,EAAE,MAAM,iBAAiB;OAKxC,EAAE,UAAU,EAAE;OAEd,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE;AAGtE,eAAO,MAAM,YAAY,GAAU,iBAAiB,MAAM,GAAG,SAAS,uBAUnE,CAAC;AAEJ;;;GAGG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,iBAkHA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,EAAE,CAU3D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,UAAU,EACV,IAAI,GACL,EAAE;IACD,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC3C,GAAG,OAAO,CAAC,cAAc,CAAC,CAE1B"}
package/server.d.ts CHANGED
@@ -1,18 +1,9 @@
1
1
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
2
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
- import { Endpoint, HandlerFunction } from "./tools.js";
4
- import { Tool } from '@modelcontextprotocol/sdk/types.js';
5
3
  import { ClientOptions } from 'cas-parser-node';
6
- import CasParser from 'cas-parser-node';
7
- import { ClientCapabilities } from "./compat.js";
8
4
  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 'cas-parser-node';
13
- export { endpoints } from "./tools.js";
14
- export declare const newMcpServer: () => McpServer;
15
- export declare const server: McpServer;
5
+ import { HandlerFunction, McpRequestContext, ToolCallResult, McpTool } from "./types.js";
6
+ export declare const newMcpServer: (stainlessApiKey: string | undefined) => Promise<McpServer>;
16
7
  /**
17
8
  * Initializes the provided MCP Server with the given tools and handlers.
18
9
  * If not provided, the default client, tools and handlers will be used.
@@ -21,15 +12,18 @@ export declare function initMcpServer(params: {
21
12
  server: Server | McpServer;
22
13
  clientOptions?: ClientOptions;
23
14
  mcpOptions?: McpOptions;
24
- }): void;
15
+ stainlessApiKey?: string | undefined;
16
+ }): Promise<void>;
25
17
  /**
26
18
  * Selects the tools to include in the MCP Server based on the provided options.
27
19
  */
28
- export declare function selectTools(endpoints: Endpoint[], options?: McpOptions): Promise<Endpoint[]>;
20
+ export declare function selectTools(options?: McpOptions): McpTool[];
29
21
  /**
30
22
  * Runs the provided handler with the given client and arguments.
31
23
  */
32
- export declare function executeHandler(tool: Tool, handler: HandlerFunction, client: CasParser, args: Record<string, unknown> | undefined, compatibilityOptions?: Partial<ClientCapabilities>): Promise<import("./tools/types").ToolCallResult>;
33
- export declare const readEnv: (env: string) => string | undefined;
34
- export declare const readEnvOrError: (env: string) => string;
24
+ export declare function executeHandler({ handler, reqContext, args, }: {
25
+ handler: HandlerFunction;
26
+ reqContext: McpRequestContext;
27
+ args: Record<string, unknown> | undefined;
28
+ }): Promise<ToolCallResult>;
35
29
  //# sourceMappingURL=server.d.ts.map
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,EAKL,IAAI,EACL,MAAM,oCAAoC;OACpC,EAAE,aAAa,EAAE,MAAM,iBAAiB;OACxC,SAAS,MAAM,iBAAiB;OAChC,EAEL,kBAAkB,EAInB;OAGM,EAAE,UAAU,EAAE;OAEd,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE,MAAM,iBAAiB;OACxC,EAAE,SAAS,EAAE;AAEpB,eAAO,MAAM,YAAY,iBAOtB,CAAC;AAGJ,eAAO,MAAM,MAAM,WAAiB,CAAC;AAErC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,QA0FA;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAuBlG;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"}
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;OAM5D,EAAE,aAAa,EAAE,MAAM,iBAAiB;OAKxC,EAAE,UAAU,EAAE;OAEd,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE;AAGtE,eAAO,MAAM,YAAY,GAAU,iBAAiB,MAAM,GAAG,SAAS,uBAUnE,CAAC;AAEJ;;;GAGG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,iBAkHA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,EAAE,CAU3D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,UAAU,EACV,IAAI,GACL,EAAE;IACD,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC3C,GAAG,OAAO,CAAC,cAAc,CAAC,CAE1B"}
package/server.js CHANGED
@@ -4,51 +4,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.readEnvOrError = exports.readEnv = exports.server = exports.newMcpServer = exports.endpoints = exports.ClientType = void 0;
7
+ exports.newMcpServer = void 0;
8
8
  exports.initMcpServer = initMcpServer;
9
9
  exports.selectTools = selectTools;
10
10
  exports.executeHandler = executeHandler;
11
11
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
12
- const tools_1 = require("./tools.js");
13
12
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
14
13
  const cas_parser_node_1 = __importDefault(require("cas-parser-node"));
15
- const compat_1 = require("./compat.js");
16
- const dynamic_tools_1 = require("./dynamic-tools.js");
17
14
  const code_tool_1 = require("./code-tool.js");
18
- var compat_2 = require("./compat.js");
19
- Object.defineProperty(exports, "ClientType", { enumerable: true, get: function () { return compat_2.ClientType; } });
20
- var tools_2 = require("./tools.js");
21
- Object.defineProperty(exports, "endpoints", { enumerable: true, get: function () { return tools_2.endpoints; } });
22
- const newMcpServer = () => new mcp_js_1.McpServer({
15
+ const docs_search_tool_1 = __importDefault(require("./docs-search-tool.js"));
16
+ const instructions_1 = require("./instructions.js");
17
+ const methods_1 = require("./methods.js");
18
+ const util_1 = require("./util.js");
19
+ const newMcpServer = async (stainlessApiKey) => new mcp_js_1.McpServer({
23
20
  name: 'cas_parser_node_api',
24
- version: '1.4.1',
25
- }, { capabilities: { tools: {}, logging: {} } });
21
+ version: '1.7.2',
22
+ }, {
23
+ instructions: await (0, instructions_1.getInstructions)(stainlessApiKey),
24
+ capabilities: { tools: {}, logging: {} },
25
+ });
26
26
  exports.newMcpServer = newMcpServer;
27
- // Create server instance
28
- exports.server = (0, exports.newMcpServer)();
29
27
  /**
30
28
  * Initializes the provided MCP Server with the given tools and handlers.
31
29
  * If not provided, the default client, tools and handlers will be used.
32
30
  */
33
- function initMcpServer(params) {
31
+ async function initMcpServer(params) {
34
32
  const server = params.server instanceof mcp_js_1.McpServer ? params.server.server : params.server;
35
- const mcpOptions = params.mcpOptions ?? {};
36
- let providedEndpoints = null;
37
- let endpointMap = null;
38
- const initTools = async (implementation) => {
39
- if (implementation && (!mcpOptions.client || mcpOptions.client === 'infer')) {
40
- mcpOptions.client =
41
- implementation.name.toLowerCase().includes('claude') ? 'claude'
42
- : implementation.name.toLowerCase().includes('cursor') ? 'cursor'
43
- : undefined;
44
- mcpOptions.capabilities = {
45
- ...(mcpOptions.client && compat_1.knownClients[mcpOptions.client]),
46
- ...mcpOptions.capabilities,
47
- };
48
- }
49
- providedEndpoints ?? (providedEndpoints = await selectTools(tools_1.endpoints, mcpOptions));
50
- endpointMap ?? (endpointMap = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint])));
51
- };
52
33
  const logAtLevel = (level) => (message, ...rest) => {
53
34
  void server.sendLoggingMessage({
54
35
  level,
@@ -61,110 +42,117 @@ function initMcpServer(params) {
61
42
  warn: logAtLevel('warning'),
62
43
  error: logAtLevel('error'),
63
44
  };
64
- let client = new cas_parser_node_1.default({
65
- logger,
66
- ...params.clientOptions,
67
- defaultHeaders: {
68
- ...params.clientOptions?.defaultHeaders,
69
- 'X-Stainless-MCP': 'true',
70
- },
71
- });
72
- server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
73
- if (providedEndpoints === null) {
74
- await initTools(server.getClientVersion());
45
+ let _client;
46
+ let _clientError;
47
+ let _logLevel;
48
+ const getClient = () => {
49
+ if (_clientError)
50
+ throw _clientError;
51
+ if (!_client) {
52
+ try {
53
+ _client = new cas_parser_node_1.default({
54
+ ...{ environment: ((0, util_1.readEnv)('CAS_PARSER_ENVIRONMENT') || undefined) },
55
+ logger,
56
+ ...params.clientOptions,
57
+ defaultHeaders: {
58
+ ...params.clientOptions?.defaultHeaders,
59
+ 'X-Stainless-MCP': 'true',
60
+ },
61
+ });
62
+ if (_logLevel) {
63
+ _client = _client.withOptions({ logLevel: _logLevel });
64
+ }
65
+ }
66
+ catch (e) {
67
+ _clientError = e instanceof Error ? e : new Error(String(e));
68
+ throw _clientError;
69
+ }
75
70
  }
71
+ return _client;
72
+ };
73
+ const providedTools = selectTools(params.mcpOptions);
74
+ const toolMap = Object.fromEntries(providedTools.map((mcpTool) => [mcpTool.tool.name, mcpTool]));
75
+ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
76
76
  return {
77
- tools: providedEndpoints.map((endpoint) => endpoint.tool),
77
+ tools: providedTools.map((mcpTool) => mcpTool.tool),
78
78
  };
79
79
  });
80
80
  server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
81
- if (endpointMap === null) {
82
- await initTools(server.getClientVersion());
83
- }
84
81
  const { name, arguments: args } = request.params;
85
- const endpoint = endpointMap[name];
86
- if (!endpoint) {
82
+ const mcpTool = toolMap[name];
83
+ if (!mcpTool) {
87
84
  throw new Error(`Unknown tool: ${name}`);
88
85
  }
89
- return executeHandler(endpoint.tool, endpoint.handler, client, args, mcpOptions.capabilities);
86
+ let client;
87
+ try {
88
+ client = getClient();
89
+ }
90
+ catch (error) {
91
+ return {
92
+ content: [
93
+ {
94
+ type: 'text',
95
+ text: `Failed to initialize client: ${error instanceof Error ? error.message : String(error)}`,
96
+ },
97
+ ],
98
+ isError: true,
99
+ };
100
+ }
101
+ return executeHandler({
102
+ handler: mcpTool.handler,
103
+ reqContext: {
104
+ client,
105
+ stainlessApiKey: params.stainlessApiKey ?? params.mcpOptions?.stainlessApiKey,
106
+ },
107
+ args,
108
+ });
90
109
  });
91
110
  server.setRequestHandler(types_js_1.SetLevelRequestSchema, async (request) => {
92
111
  const { level } = request.params;
112
+ let logLevel;
93
113
  switch (level) {
94
114
  case 'debug':
95
- client = client.withOptions({ logLevel: 'debug' });
115
+ logLevel = 'debug';
96
116
  break;
97
117
  case 'info':
98
- client = client.withOptions({ logLevel: 'info' });
118
+ logLevel = 'info';
99
119
  break;
100
120
  case 'notice':
101
121
  case 'warning':
102
- client = client.withOptions({ logLevel: 'warn' });
122
+ logLevel = 'warn';
103
123
  break;
104
124
  case 'error':
105
- client = client.withOptions({ logLevel: 'error' });
125
+ logLevel = 'error';
106
126
  break;
107
127
  default:
108
- client = client.withOptions({ logLevel: 'off' });
128
+ logLevel = 'off';
109
129
  break;
110
130
  }
131
+ _logLevel = logLevel;
132
+ if (_client) {
133
+ _client = _client.withOptions({ logLevel });
134
+ }
111
135
  return {};
112
136
  });
113
137
  }
114
138
  /**
115
139
  * Selects the tools to include in the MCP Server based on the provided options.
116
140
  */
117
- async function selectTools(endpoints, options) {
118
- const filteredEndpoints = (0, tools_1.query)(options?.filters ?? [], endpoints);
119
- let includedTools = filteredEndpoints;
120
- if (includedTools.length > 0) {
121
- if (options?.includeDynamicTools) {
122
- includedTools = (0, dynamic_tools_1.dynamicTools)(includedTools);
123
- }
124
- }
125
- else {
126
- if (options?.includeAllTools) {
127
- includedTools = endpoints;
128
- }
129
- else if (options?.includeDynamicTools) {
130
- includedTools = (0, dynamic_tools_1.dynamicTools)(endpoints);
131
- }
132
- else if (options?.includeCodeTools) {
133
- includedTools = [await (0, code_tool_1.codeTool)()];
134
- }
135
- else {
136
- includedTools = endpoints;
137
- }
141
+ function selectTools(options) {
142
+ const includedTools = [
143
+ (0, code_tool_1.codeTool)({
144
+ blockedMethods: (0, methods_1.blockedMethodsForCodeTool)(options),
145
+ }),
146
+ ];
147
+ if (options?.includeDocsTools ?? true) {
148
+ includedTools.push(docs_search_tool_1.default);
138
149
  }
139
- const capabilities = { ...compat_1.defaultClientCapabilities, ...options?.capabilities };
140
- return (0, compat_1.applyCompatibilityTransformations)(includedTools, capabilities);
150
+ return includedTools;
141
151
  }
142
152
  /**
143
153
  * Runs the provided handler with the given client and arguments.
144
154
  */
145
- async function executeHandler(tool, handler, client, args, compatibilityOptions) {
146
- const options = { ...compat_1.defaultClientCapabilities, ...compatibilityOptions };
147
- if (!options.validJson && args) {
148
- args = (0, compat_1.parseEmbeddedJSON)(args, tool.inputSchema);
149
- }
150
- return await handler(client, args || {});
155
+ async function executeHandler({ handler, reqContext, args, }) {
156
+ return await handler({ reqContext, args: args || {} });
151
157
  }
152
- const readEnv = (env) => {
153
- if (typeof globalThis.process !== 'undefined') {
154
- return globalThis.process.env?.[env]?.trim();
155
- }
156
- else if (typeof globalThis.Deno !== 'undefined') {
157
- return globalThis.Deno.env?.get?.(env)?.trim();
158
- }
159
- return;
160
- };
161
- exports.readEnv = readEnv;
162
- const readEnvOrError = (env) => {
163
- let envValue = (0, exports.readEnv)(env);
164
- if (envValue === undefined) {
165
- throw new Error(`Environment variable ${env} is not set`);
166
- }
167
- return envValue;
168
- };
169
- exports.readEnvOrError = readEnvOrError;
170
158
  //# sourceMappingURL=server.js.map
package/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}