@emcy/openapi-to-mcp 0.2.0 → 0.4.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.
Files changed (45) hide show
  1. package/README.md +180 -127
  2. package/dist/__tests__/cli-config.test.d.ts +2 -0
  3. package/dist/__tests__/cli-config.test.d.ts.map +1 -0
  4. package/dist/__tests__/cli-config.test.js +95 -0
  5. package/dist/__tests__/cli-config.test.js.map +1 -0
  6. package/dist/__tests__/generator.test.d.ts +1 -1
  7. package/dist/__tests__/generator.test.js +178 -200
  8. package/dist/__tests__/generator.test.js.map +1 -1
  9. package/dist/__tests__/integration.test.js +11 -11
  10. package/dist/__tests__/integration.test.js.map +1 -1
  11. package/dist/__tests__/mapper.test.js +30 -6
  12. package/dist/__tests__/mapper.test.js.map +1 -1
  13. package/dist/__tests__/parser.test.js +2 -0
  14. package/dist/__tests__/parser.test.js.map +1 -1
  15. package/dist/__tests__/tool-identity.test.d.ts +2 -0
  16. package/dist/__tests__/tool-identity.test.d.ts.map +1 -0
  17. package/dist/__tests__/tool-identity.test.js +15 -0
  18. package/dist/__tests__/tool-identity.test.js.map +1 -0
  19. package/dist/cli-config.d.ts +31 -0
  20. package/dist/cli-config.d.ts.map +1 -0
  21. package/dist/cli-config.js +148 -0
  22. package/dist/cli-config.js.map +1 -0
  23. package/dist/cli.js +66 -4
  24. package/dist/cli.js.map +1 -1
  25. package/dist/generator.d.ts +8 -3
  26. package/dist/generator.d.ts.map +1 -1
  27. package/dist/generator.js +711 -327
  28. package/dist/generator.js.map +1 -1
  29. package/dist/index.d.ts +2 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/mapper.d.ts.map +1 -1
  34. package/dist/mapper.js +6 -2
  35. package/dist/mapper.js.map +1 -1
  36. package/dist/parser.d.ts.map +1 -1
  37. package/dist/parser.js +18 -5
  38. package/dist/parser.js.map +1 -1
  39. package/dist/tool-identity.d.ts +6 -0
  40. package/dist/tool-identity.d.ts.map +1 -0
  41. package/dist/tool-identity.js +67 -0
  42. package/dist/tool-identity.js.map +1 -0
  43. package/dist/types.d.ts +119 -0
  44. package/dist/types.d.ts.map +1 -1
  45. package/package.json +1 -1
@@ -1,236 +1,214 @@
1
1
  /**
2
- * Generator tests - ensures MCP server code is correctly generated
2
+ * Generator tests - verifies the supported runtime modes.
3
3
  */
4
- import { describe, it, expect } from 'vitest';
5
- import { generateMcpServer } from '../generator.js';
6
- describe('generateMcpServer', () => {
4
+ import { describe, expect, it } from "vitest";
5
+ import { generateMcpServer } from "../generator.js";
6
+ describe("generateMcpServer", () => {
7
7
  const baseOptions = {
8
- name: 'test-api',
9
- version: '1.0.0',
10
- baseUrl: 'http://localhost:3000',
8
+ name: "test-api",
9
+ version: "1.0.0",
10
+ baseUrl: "http://localhost:3000",
11
11
  };
12
- it('should generate all required files', () => {
13
- const tools = [];
14
- const files = generateMcpServer(tools, baseOptions);
12
+ const sampleTool = {
13
+ name: "getUsers",
14
+ description: "Get all users",
15
+ inputSchema: { type: "object", properties: {} },
16
+ httpMethod: "get",
17
+ pathTemplate: "/users",
18
+ parameters: [],
19
+ securitySchemes: [],
20
+ requiredScopes: [],
21
+ };
22
+ it("generates the expected file set", () => {
23
+ const files = generateMcpServer([], baseOptions);
15
24
  expect(Object.keys(files)).toEqual([
16
- 'package.json',
17
- 'tsconfig.json',
18
- 'src/index.ts',
19
- 'src/transport.ts',
20
- '.env.example',
21
- 'README.md',
25
+ "package.json",
26
+ "tsconfig.json",
27
+ "src/index.ts",
28
+ "src/transport.ts",
29
+ ".env.example",
30
+ "README.md",
22
31
  ]);
23
32
  });
24
- it('should generate valid package.json', () => {
25
- const files = generateMcpServer([], baseOptions);
26
- const pkg = JSON.parse(files['package.json']);
27
- expect(pkg.name).toBe('test-api');
28
- expect(pkg.version).toBe('1.0.0');
29
- expect(pkg.type).toBe('module');
30
- expect(pkg.scripts.build).toBe('tsc');
31
- expect(pkg.scripts['start:http']).toBe('node build/index.js --transport=streamable-http');
32
- expect(pkg.dependencies['@modelcontextprotocol/sdk']).toBeDefined();
33
- expect(pkg.dependencies.axios).toBeDefined();
34
- });
35
- it('should include @emcy/sdk when emcyEnabled', () => {
33
+ it("includes Emcy telemetry when emcyEnabled is true", () => {
36
34
  const files = generateMcpServer([], { ...baseOptions, emcyEnabled: true });
37
- const pkg = JSON.parse(files['package.json']);
38
- expect(pkg.dependencies['@emcy/sdk']).toBeDefined();
35
+ const pkg = JSON.parse(files["package.json"]);
36
+ const serverCode = files["src/index.ts"];
37
+ expect(pkg.dependencies["@emcy/sdk"]).toBeDefined();
38
+ expect(serverCode).toContain('import { EmcyTelemetry } from "@emcy/sdk"');
39
+ expect(serverCode).toContain("emcy.trace(");
39
40
  });
40
- it('should use local SDK path when specified', () => {
41
+ it("uses a local SDK path when provided", () => {
41
42
  const files = generateMcpServer([], {
42
43
  ...baseOptions,
43
44
  emcyEnabled: true,
44
- localSdkPath: '../emcy-sdk',
45
+ localSdkPath: "../emcy-sdk",
45
46
  });
46
- const pkg = JSON.parse(files['package.json']);
47
- expect(pkg.dependencies['@emcy/sdk']).toBe('file:../emcy-sdk');
47
+ const pkg = JSON.parse(files["package.json"]);
48
+ expect(pkg.dependencies["@emcy/sdk"]).toBe("file:../emcy-sdk");
48
49
  });
49
- it('should generate tool definitions in server entry', () => {
50
- const tools = [
50
+ it("generates standalone no-auth runtimes by default", () => {
51
+ const files = generateMcpServer([sampleTool], baseOptions);
52
+ const pkg = JSON.parse(files["package.json"]);
53
+ const serverCode = files["src/index.ts"];
54
+ const transportCode = files["src/transport.ts"];
55
+ const envExample = files[".env.example"];
56
+ expect(pkg.scripts.start).toBe("node build/index.js");
57
+ expect(pkg.dependencies.jose).toBeUndefined();
58
+ expect(serverCode).toContain('type RuntimeMode = "standalone_no_auth" | "standalone_headers" | "emcy_gateway_worker";');
59
+ expect(serverCode).toContain('const RUNTIME_MODE: RuntimeMode = "standalone_no_auth";');
60
+ expect(serverCode).not.toContain("GATEWAY_WORKER_CONFIG");
61
+ expect(transportCode).toContain('public_server: true');
62
+ expect(transportCode).not.toContain("protected-resource-metadata");
63
+ expect(envExample).toContain("API_BASE_URL=http://localhost:3000");
64
+ expect(envExample).not.toContain("FORWARD_CLIENT_TOKEN");
65
+ expect(envExample).not.toContain("OAUTH_AUTHORIZATION_SERVER");
66
+ });
67
+ it("generates standalone header injection runtimes", () => {
68
+ const files = generateMcpServer([
51
69
  {
52
- name: 'getUsers',
53
- description: 'Get all users',
54
- inputSchema: { type: 'object', properties: {} },
55
- httpMethod: 'get',
56
- pathTemplate: '/users',
57
- parameters: [],
58
- securitySchemes: [],
70
+ ...sampleTool,
71
+ securitySchemes: ["bearerAuth"],
59
72
  },
60
- {
61
- name: 'createUser',
62
- description: 'Create a user',
63
- inputSchema: {
64
- type: 'object',
65
- properties: { requestBody: { type: 'object' } },
66
- required: ['requestBody'],
73
+ ], {
74
+ ...baseOptions,
75
+ runtimeMode: "standalone_headers",
76
+ upstreamHeaders: [
77
+ {
78
+ name: "X-API-Key",
79
+ envVar: "UPSTREAM_API_KEY",
67
80
  },
68
- httpMethod: 'post',
69
- pathTemplate: '/users',
70
- parameters: [],
71
- requestBodyContentType: 'application/json',
72
- securitySchemes: [],
81
+ {
82
+ name: "Authorization",
83
+ envVar: "UPSTREAM_TOKEN",
84
+ valuePrefix: "Bearer",
85
+ },
86
+ ],
87
+ }, {
88
+ bearerAuth: {
89
+ type: "http",
90
+ scheme: "bearer",
73
91
  },
74
- ];
75
- const files = generateMcpServer(tools, baseOptions);
76
- const serverCode = files['src/index.ts'];
77
- // Should contain tool definitions
78
- expect(serverCode).toContain('["getUsers"');
79
- expect(serverCode).toContain('name: "getUsers"');
80
- expect(serverCode).toContain('description: "Get all users"');
81
- expect(serverCode).toContain('method: "get"');
82
- expect(serverCode).toContain('pathTemplate: "/users"');
83
- expect(serverCode).toContain('["createUser"');
84
- expect(serverCode).toContain('name: "createUser"');
85
- expect(serverCode).toContain('requestBodyContentType: "application/json"');
86
- });
87
- it('should include Emcy telemetry code when enabled', () => {
88
- const files = generateMcpServer([], { ...baseOptions, emcyEnabled: true });
89
- const serverCode = files['src/index.ts'];
90
- expect(serverCode).toContain("import { EmcyTelemetry } from '@emcy/sdk'");
91
- expect(serverCode).toContain('new EmcyTelemetry({');
92
- expect(serverCode).toContain('emcy.trace(');
93
- });
94
- it('should not include Emcy code when disabled', () => {
95
- const files = generateMcpServer([], baseOptions);
96
- const serverCode = files['src/index.ts'];
97
- expect(serverCode).not.toContain('EmcyTelemetry');
98
- expect(serverCode).not.toContain('emcy.trace');
92
+ });
93
+ const serverCode = files["src/index.ts"];
94
+ const envExample = files[".env.example"];
95
+ const readme = files["README.md"];
96
+ expect(serverCode).toContain('type RuntimeMode = "standalone_no_auth" | "standalone_headers" | "emcy_gateway_worker";');
97
+ expect(serverCode).toContain('const RUNTIME_MODE: RuntimeMode = "standalone_headers";');
98
+ expect(serverCode).toContain('"envVar": "UPSTREAM_API_KEY"');
99
+ expect(serverCode).toContain('"envVar": "UPSTREAM_TOKEN"');
100
+ expect(serverCode).toContain('if (RUNTIME_MODE !== "standalone_headers")');
101
+ expect(serverCode).toContain("applyConfiguredUpstreamHeaders(headers)");
102
+ expect(envExample).toContain("UPSTREAM_API_KEY=");
103
+ expect(envExample).toContain("UPSTREAM_TOKEN=");
104
+ expect(envExample).toContain("BEARER_TOKEN_BEARERAUTH=");
105
+ expect(readme).toContain("standalone_headers");
106
+ expect(readme).toContain("injects static headers");
107
+ expect(envExample).not.toContain("FORWARD_CLIENT_TOKEN");
99
108
  });
100
- it('should set correct base URL in server', () => {
109
+ it("generates Emcy gateway workers without public OAuth behavior", () => {
101
110
  const files = generateMcpServer([], {
102
111
  ...baseOptions,
103
- baseUrl: 'https://api.example.com/v1',
104
- });
105
- const serverCode = files['src/index.ts'];
106
- expect(serverCode).toContain('API_BASE_URL = process.env.API_BASE_URL || "https://api.example.com/v1"');
107
- });
108
- it('should include security schemes in generated code', () => {
109
- const securitySchemes = {
110
- apiKey: {
111
- type: 'apiKey',
112
- name: 'X-API-Key',
113
- in: 'header',
112
+ gatewayIntegration: {
113
+ provider: "emcy",
114
+ worker: {},
115
+ oauth: {
116
+ provider: "sqlos",
117
+ authorizationServerUrl: "https://auth.example.com/sqlos/auth",
118
+ clientId: "todo-mcp-local",
119
+ resource: "https://api.example.com/todos",
120
+ scopes: ["openid", "profile", "todos.read", "todos.write"],
121
+ },
114
122
  },
115
- bearerAuth: {
116
- type: 'http',
117
- scheme: 'bearer',
123
+ toolInstructions: {
124
+ get_api_todos: {
125
+ whenToUse: "Use when the user asks to list todos.",
126
+ },
118
127
  },
119
- };
120
- const tools = [
121
- {
122
- name: 'secureEndpoint',
123
- description: 'A secure endpoint',
124
- inputSchema: { type: 'object', properties: {} },
125
- httpMethod: 'get',
126
- pathTemplate: '/secure',
127
- parameters: [],
128
- securitySchemes: ['apiKey', 'bearerAuth'],
128
+ });
129
+ const pkg = JSON.parse(files["package.json"]);
130
+ const serverCode = files["src/index.ts"];
131
+ const transportCode = files["src/transport.ts"];
132
+ const envExample = files[".env.example"];
133
+ const readme = files["README.md"];
134
+ expect(pkg.scripts.start).toBe("node build/index.js --transport=streamable-http");
135
+ expect(serverCode).toContain('type RuntimeMode = "standalone_no_auth" | "standalone_headers" | "emcy_gateway_worker";');
136
+ expect(serverCode).toContain('const RUNTIME_MODE: RuntimeMode = "emcy_gateway_worker";');
137
+ expect(serverCode).toContain("const GATEWAY_WORKER_CONFIG = {");
138
+ expect(serverCode).toContain("const GATEWAY_OAUTH_CONFIG: RuntimeGatewayOauthConfig | null = {");
139
+ expect(serverCode).toContain("const TOOL_INSTRUCTIONS: Record<string, RuntimeToolInstruction> = {");
140
+ expect(serverCode).toContain("applyGatewayWorkerAccessToken");
141
+ expect(transportCode).toContain('app.use("/mcp", async (c, next) => {');
142
+ expect(transportCode).toContain("x-emcy-worker-secret");
143
+ expect(transportCode).toContain("x-emcy-upstream-access-token");
144
+ expect(transportCode).not.toContain("protected-resource-metadata");
145
+ expect(envExample).toContain("EMCY_WORKER_SHARED_SECRET=change-me");
146
+ expect(envExample).toContain("# Authorization server: https://auth.example.com/sqlos/auth");
147
+ expect(readme).toContain("Gateway-enabled MCP runtime generated from an OpenAPI specification by [Emcy](https://emcy.ai).");
148
+ expect(readme).toContain("This runtime is meant to be used with Emcy Gateway as the public MCP and OAuth edge.");
149
+ expect(readme).toContain("Gateway OAuth reference: sqlos");
150
+ expect(readme).toContain("Tool instructions configured for: get_api_todos");
151
+ });
152
+ it("does not emit invalid const assertions for empty hosted config", () => {
153
+ const files = generateMcpServer([], {
154
+ ...baseOptions,
155
+ gatewayIntegration: {
156
+ provider: "emcy",
157
+ worker: {},
129
158
  },
130
- ];
131
- const files = generateMcpServer(tools, baseOptions, securitySchemes);
132
- const serverCode = files['src/index.ts'];
133
- expect(serverCode).toContain('"apiKey"');
134
- expect(serverCode).toContain('"bearerAuth"');
135
- expect(serverCode).toContain('applySecurityHeaders');
159
+ });
160
+ const serverCode = files["src/index.ts"];
161
+ expect(serverCode).toContain("const GATEWAY_OAUTH_CONFIG: RuntimeGatewayOauthConfig | null = null;");
162
+ expect(serverCode).toContain("const TOOL_INSTRUCTIONS: Record<string, RuntimeToolInstruction> = {};");
163
+ expect(serverCode).not.toContain("null as const");
164
+ expect(serverCode).not.toContain("{} as const");
136
165
  });
137
- it('should generate proper path parameter handling', () => {
138
- const tools = [
166
+ it("keeps generated tool definitions in the runtime", () => {
167
+ const files = generateMcpServer([
168
+ sampleTool,
139
169
  {
140
- name: 'getUser',
141
- description: 'Get user by ID',
170
+ name: "createUser",
171
+ description: "Create a user",
142
172
  inputSchema: {
143
- type: 'object',
144
- properties: { id: { type: 'integer' } },
145
- required: ['id'],
173
+ type: "object",
174
+ properties: { requestBody: { type: "object" } },
175
+ required: ["requestBody"],
146
176
  },
147
- httpMethod: 'get',
148
- pathTemplate: '/users/{id}',
149
- parameters: [{ name: 'id', in: 'path', required: true, schema: { type: 'integer' } }],
150
- securitySchemes: [],
151
- },
152
- ];
153
- const files = generateMcpServer(tools, baseOptions);
154
- const serverCode = files['src/index.ts'];
155
- expect(serverCode).toContain('pathTemplate: "/users/{id}"');
156
- expect(serverCode).toContain('"in":"path"');
157
- });
158
- it('should generate README with correct server name', () => {
159
- const files = generateMcpServer([], { ...baseOptions, name: 'my-awesome-api' });
160
- const readme = files['README.md'];
161
- expect(readme).toContain('# my-awesome-api');
162
- expect(readme).toContain('my-awesome-api');
163
- });
164
- it('should generate .env.example with API URL', () => {
165
- const files = generateMcpServer([], baseOptions);
166
- const envExample = files['.env.example'];
167
- expect(envExample).toContain('API_BASE_URL=');
168
- expect(envExample).toContain('PORT=3000');
169
- });
170
- it('should generate .env.example with security credentials when needed', () => {
171
- const tools = [
172
- {
173
- name: 'secureEndpoint',
174
- description: 'Secure',
175
- inputSchema: { type: 'object', properties: {} },
176
- httpMethod: 'get',
177
- pathTemplate: '/secure',
177
+ httpMethod: "post",
178
+ pathTemplate: "/users",
178
179
  parameters: [],
179
- securitySchemes: ['apiKeyAuth'],
180
+ requestBodyContentType: "application/json",
181
+ securitySchemes: [],
182
+ requiredScopes: [],
180
183
  },
181
- ];
182
- const securitySchemes = {
183
- apiKeyAuth: { type: 'apiKey', name: 'X-API-Key', in: 'header' },
184
- };
185
- const files = generateMcpServer(tools, baseOptions, securitySchemes);
186
- const envExample = files['.env.example'];
187
- expect(envExample).toContain('Security Credentials');
188
- expect(envExample).toContain('API_KEY_APIKEYAUTH=');
184
+ ], baseOptions);
185
+ const serverCode = files["src/index.ts"];
186
+ expect(serverCode).toContain('["getUsers"');
187
+ expect(serverCode).toContain('["createUser"');
188
+ expect(serverCode).toContain('requestBodyContentType: "application/json"');
189
189
  });
190
- });
191
- describe('generator produces working TypeScript', () => {
192
- it('should generate syntactically valid TypeScript (no obvious errors)', () => {
193
- const tools = [
194
- {
195
- name: 'complexTool',
196
- description: 'A tool with "quotes" and special chars: <>&',
197
- inputSchema: {
198
- type: 'object',
199
- properties: {
200
- name: { type: 'string', description: 'User\'s name' },
201
- data: { type: 'object' },
202
- },
203
- required: ['name'],
190
+ it("generates prompt handlers when prompts are configured", () => {
191
+ const files = generateMcpServer([], {
192
+ ...baseOptions,
193
+ prompts: [
194
+ {
195
+ name: "summarize-users",
196
+ description: "Summarize users",
197
+ content: "Summarize {{topic}}",
198
+ arguments: [
199
+ {
200
+ name: "topic",
201
+ description: "Topic to summarize",
202
+ required: true,
203
+ },
204
+ ],
204
205
  },
205
- httpMethod: 'post',
206
- pathTemplate: '/complex/{id}/action',
207
- parameters: [
208
- { name: 'id', in: 'path', required: true, schema: { type: 'string' } },
209
- ],
210
- requestBodyContentType: 'application/json',
211
- securitySchemes: ['auth'],
212
- },
213
- ];
214
- const files = generateMcpServer(tools, {
215
- name: 'complex-api',
216
- baseUrl: 'https://api.example.com',
217
- emcyEnabled: true,
218
- }, {
219
- auth: { type: 'http', scheme: 'bearer' },
206
+ ],
220
207
  });
221
- const serverCode = files['src/index.ts'];
222
- // Should have balanced braces (basic syntax check)
223
- const openBraces = (serverCode.match(/{/g) || []).length;
224
- const closeBraces = (serverCode.match(/}/g) || []).length;
225
- expect(openBraces).toBe(closeBraces);
226
- // Should have balanced brackets
227
- const openBrackets = (serverCode.match(/\[/g) || []).length;
228
- const closeBrackets = (serverCode.match(/\]/g) || []).length;
229
- expect(openBrackets).toBe(closeBrackets);
230
- // Should have balanced parentheses
231
- const openParens = (serverCode.match(/\(/g) || []).length;
232
- const closeParens = (serverCode.match(/\)/g) || []).length;
233
- expect(openParens).toBe(closeParens);
208
+ const serverCode = files["src/index.ts"];
209
+ expect(serverCode).toContain("ListPromptsRequestSchema");
210
+ expect(serverCode).toContain("GetPromptRequestSchema");
211
+ expect(serverCode).toContain("promptDefinitionMap");
234
212
  });
235
213
  });
236
214
  //# sourceMappingURL=generator.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.test.js","sourceRoot":"","sources":["../../src/__tests__/generator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.test.js","sourceRoot":"","sources":["../../src/__tests__/generator.test.ts"],"names":[],"mappings":"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"}
@@ -110,14 +110,14 @@ describe('End-to-end generation', () => {
110
110
  const parsed = await parseOpenAPI(sampleApiSpec);
111
111
  const tools = mapToMcpTools(parsed.endpoints);
112
112
  expect(tools.length).toBe(7);
113
- const getOrders = tools.find(t => t.name === 'GetOrders');
113
+ const getOrders = tools.find(t => t.name === 'get_orders');
114
114
  expect(getOrders).toBeDefined();
115
115
  expect(getOrders?.httpMethod).toBe('get');
116
116
  expect(getOrders?.pathTemplate).toBe('/Orders');
117
- const postOrders = tools.find(t => t.name === 'PostOrders');
117
+ const postOrders = tools.find(t => t.name === 'post_orders');
118
118
  expect(postOrders).toBeDefined();
119
119
  expect(postOrders?.requestBodyContentType).toBe('application/json');
120
- const getOrderById = tools.find(t => t.name === 'GetOrdersById');
120
+ const getOrderById = tools.find(t => t.name === 'get_orders_by_id');
121
121
  expect(getOrderById).toBeDefined();
122
122
  expect(getOrderById?.parameters).toHaveLength(1);
123
123
  expect(getOrderById?.parameters[0].name).toBe('id');
@@ -133,13 +133,13 @@ describe('End-to-end generation', () => {
133
133
  });
134
134
  const serverCode = files['src/index.ts'];
135
135
  // Verify all tools are in the generated code
136
- expect(serverCode).toContain('["GetOrders"');
137
- expect(serverCode).toContain('["PostOrders"');
138
- expect(serverCode).toContain('["GetOrdersById"');
139
- expect(serverCode).toContain('["DeleteOrdersById"');
140
- expect(serverCode).toContain('["GetProducts"');
141
- expect(serverCode).toContain('["PostProducts"');
142
- expect(serverCode).toContain('["GetProductsById"');
136
+ expect(serverCode).toContain('["get_orders"');
137
+ expect(serverCode).toContain('["post_orders"');
138
+ expect(serverCode).toContain('["get_orders_by_id"');
139
+ expect(serverCode).toContain('["delete_orders_by_id"');
140
+ expect(serverCode).toContain('["get_products"');
141
+ expect(serverCode).toContain('["post_products"');
142
+ expect(serverCode).toContain('["get_products_by_id"');
143
143
  // Verify the toolDefinitionMap is not empty
144
144
  expect(serverCode).not.toMatch(/const toolDefinitionMap.*=.*new Map\(\[\s*\]\)/);
145
145
  });
@@ -148,7 +148,7 @@ describe('End-to-end generation', () => {
148
148
  const enabledPaths = new Set(['GET:/Orders', 'POST:/Orders']);
149
149
  const tools = mapToMcpTools(parsed.endpoints, enabledPaths);
150
150
  expect(tools.length).toBe(2);
151
- expect(tools.map(t => t.name)).toEqual(['GetOrders', 'PostOrders']);
151
+ expect(tools.map(t => t.name)).toEqual(['get_orders', 'post_orders']);
152
152
  });
153
153
  });
154
154
  describe('operationId consistency', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/__tests__/integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/__tests__/integration.test.ts"],"names":[],"mappings":"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"}