@smithery/cli 1.2.2-beta.1 → 1.2.2-beta.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.
@@ -21,36 +21,44 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
22
  mod
23
23
  ));
24
+ var import_stateful = require("@smithery/sdk/server/stateful.js");
25
+ var import_stateless = require("@smithery/sdk/server/stateless.js");
26
+ var import_cors = __toESM(require("cors"));
27
+ var import_express = __toESM(require("express"));
24
28
  async function startMcpServer() {
25
29
  try {
26
30
  const port = process.env.PORT || "8181";
27
- const config = process.env.SMITHERY_CONFIG ? JSON.parse(process.env.SMITHERY_CONFIG) : {};
28
31
  console.log(`[smithery] Starting MCP server on port ${port}`);
29
- let entry;
30
- if (typeof __SMITHERY_ENTRY__ !== "undefined") {
31
- entry = await import(__SMITHERY_ENTRY__);
32
- } else {
33
- entry = await import("__SMITHERY_USER_MODULE__");
34
- }
32
+ const entry = await import(__SMITHERY_ENTRY__);
35
33
  let server;
34
+ const app = (0, import_express.default)();
35
+ if (process.env.NODE_ENV !== "production") {
36
+ console.log(`[smithery] Injecting cors middleware`);
37
+ app.use(
38
+ (0, import_cors.default)({
39
+ origin: "https://smithery.ai",
40
+ exposedHeaders: ["mcp-session-id"]
41
+ })
42
+ );
43
+ }
36
44
  if (entry.createStatefulServer && typeof entry.createStatefulServer === "function") {
37
- console.log(`[smithery] Creating stateful server.`);
38
- const { createStatefulServer } = await import("@smithery/sdk/server/stateful.js");
39
- server = createStatefulServer(entry.createStatefulServer);
45
+ console.log(`[smithery] Setting up stateful server.`);
46
+ server = (0, import_stateful.createStatefulServer)(entry.createStatefulServer, {
47
+ schema: entry.configSchema,
48
+ app
49
+ });
40
50
  } else if (entry.createStatelessServer && typeof entry.createStatelessServer === "function") {
41
- console.log(`[smithery] Creating stateless server`);
42
- const { createStatelessServer } = await import("@smithery/sdk/server/stateless.js");
43
- server = createStatelessServer(entry.createStatelessServer);
44
- } else if (entry.default && typeof entry.default === "function") {
45
- console.log(`[smithery] Creating stateless server from default export`);
46
- const { createStatelessServer } = await import("@smithery/sdk/server/stateless.js");
47
- server = createStatelessServer(entry.default);
51
+ console.log(`[smithery] Setting up stateless server`);
52
+ server = (0, import_stateless.createStatelessServer)(entry.createStatelessServer, {
53
+ schema: entry.configSchema,
54
+ app
55
+ });
48
56
  } else {
49
57
  throw new Error(
50
58
  "No valid server export found. Please export either:\n- export function createStatefulServer({ sessionId, config }) { ... }\n- export function createStatelessServer({ config }) { ... }\n- export default function({ config }) { ... }"
51
59
  );
52
60
  }
53
- await server.app.listen(Number.parseInt(port));
61
+ server.app.listen(Number.parseInt(port));
54
62
  console.log(`[smithery] MCP server started successfully on port ${port}`);
55
63
  } catch (error) {
56
64
  console.error(`[smithery] Failed to start MCP server:`, error);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithery/cli",
3
- "version": "1.2.2-beta.1",
3
+ "version": "1.2.2-beta.3",
4
4
  "type": "commonjs",
5
5
  "private": false,
6
6
  "homepage": "https://smithery.ai/",
@@ -29,10 +29,11 @@
29
29
  "@modelcontextprotocol/sdk": "^1.10.1",
30
30
  "@ngrok/ngrok": "^1.5.1",
31
31
  "@smithery/registry": "^0.3.7",
32
- "@smithery/sdk": "^1.3.4",
32
+ "@smithery/sdk": "^1.4.3",
33
33
  "@types/uuid": "^10.0.0",
34
34
  "chalk": "^4.1.2",
35
35
  "commander": "^14.0.0",
36
+ "cors": "^2.8.5",
36
37
  "cross-fetch": "^4.1.0",
37
38
  "esbuild": "^0.25.5",
38
39
  "express": "^5.1.0",
@@ -45,6 +46,7 @@
45
46
  },
46
47
  "devDependencies": {
47
48
  "@biomejs/biome": "^1.5.3",
49
+ "@types/cors": "^2.8.18",
48
50
  "@types/express": "^5.0.2",
49
51
  "@types/inquirer": "^8.2.4",
50
52
  "@types/inquirer-autocomplete-prompt": "^3.0.3",