@smithery/sdk 1.2.1 → 1.2.3

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.
@@ -2,17 +2,17 @@ import type { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
2
  /**
3
3
  * Arguments when we create a new instance of your server
4
4
  */
5
- export interface CreateServerArg {
5
+ export interface CreateServerArg<T = Record<string, unknown>> {
6
6
  sessionId: string;
7
- config: Record<string, unknown>;
7
+ config: T;
8
8
  }
9
- export type CreateServerFn = (arg: CreateServerArg) => Server;
9
+ export type CreateServerFn<T = Record<string, unknown>> = (arg: CreateServerArg<T>) => Server;
10
10
  /**
11
11
  * Creates a stateful server for handling MCP requests.
12
12
  * For every new session, we invoke createMcpServer to create a new instance of the server.
13
13
  * @param createMcpServer Function to create an MCP server
14
14
  * @returns Express app
15
15
  */
16
- export declare function createStatefulServer(createMcpServer: CreateServerFn): {
16
+ export declare function createStatefulServer<T = Record<string, unknown>>(createMcpServer: CreateServerFn<T>): {
17
17
  app: import("express-serve-static-core").Express;
18
18
  };
@@ -39,21 +39,36 @@ export function createStatefulServer(createMcpServer) {
39
39
  delete transports[transport.sessionId];
40
40
  }
41
41
  };
42
+ let config;
43
+ try {
44
+ config = parseExpressRequestConfig(req);
45
+ }
46
+ catch (error) {
47
+ res.status(400).json({
48
+ jsonrpc: "2.0",
49
+ error: {
50
+ code: -32000,
51
+ message: "Bad Request: Invalid configuration",
52
+ },
53
+ id: null,
54
+ });
55
+ return;
56
+ }
42
57
  try {
43
- const config = parseExpressRequestConfig(req);
44
58
  const server = createMcpServer({
45
59
  sessionId: newSessionId,
46
- config,
60
+ config: config,
47
61
  });
48
62
  // Connect to the MCP server
49
63
  await server.connect(transport);
50
64
  }
51
65
  catch (error) {
52
- res.status(400).json({
66
+ console.error("Error initializing server:", error);
67
+ res.status(500).json({
53
68
  jsonrpc: "2.0",
54
69
  error: {
55
- code: -32000,
56
- message: "Bad Request: Invalid configuration",
70
+ code: -32603,
71
+ message: "Error initializing server.",
57
72
  },
58
73
  id: null,
59
74
  });
@@ -2,16 +2,16 @@ import type { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
2
  /**
3
3
  * Arguments when we create a new instance of your server
4
4
  */
5
- export interface CreateServerArg {
6
- config: Record<string, unknown>;
5
+ export interface CreateServerArg<T = Record<string, unknown>> {
6
+ config: T;
7
7
  }
8
- export type CreateServerFn = (arg: CreateServerArg) => Server;
8
+ export type CreateServerFn<T = Record<string, unknown>> = (arg: CreateServerArg<T>) => Server;
9
9
  /**
10
10
  * Creates a stateless server for handling MCP requests
11
11
  * In stateless mode, each request creates a new server and transport instance
12
12
  * @param createMcpServer Function to create an MCP server
13
13
  * @returns Express app
14
14
  */
15
- export declare function createStatelessServer(createMcpServer: CreateServerFn): {
15
+ export declare function createStatelessServer<T = Record<string, unknown>>(createMcpServer: CreateServerFn<T>): {
16
16
  app: import("express-serve-static-core").Express;
17
17
  };
@@ -34,7 +34,7 @@ export function createStatelessServer(createMcpServer) {
34
34
  }
35
35
  }
36
36
  // Create a new server instance with config
37
- const server = createMcpServer({ config });
37
+ const server = createMcpServer({ config: config });
38
38
  // Create a new transport instance
39
39
  const transport = new StreamableHTTPServerTransport({
40
40
  sessionIdGenerator: undefined,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithery/sdk",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "description": "SDK to develop with Smithery",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -16,8 +16,7 @@
16
16
  "build": "tsc",
17
17
  "build:all": "npm run build -ws --include-workspace-root",
18
18
  "watch": "tsc --watch",
19
- "check": "npx @biomejs/biome check --write --unsafe",
20
- "link": "npm link -ws --include-workspace-root"
19
+ "check": "npx @biomejs/biome check --write --unsafe"
21
20
  },
22
21
  "license": "MIT",
23
22
  "dependencies": {