lhwapi-mcp-server 1.0.9 → 1.0.11

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.
package/dist/bundle.js CHANGED
@@ -30099,170 +30099,81 @@ for (let i = 0; i < args.length; i++) {
30099
30099
  } else if (args[i].startsWith("--project-id=")) {
30100
30100
  projectId = args[i].split("=")[1];
30101
30101
  }
30102
- if (args[i] === "--token" && args[i + 1]) {
30103
- token = args[i + 1];
30104
- } else if (args[i].startsWith("--token=")) {
30105
- token = args[i].split("=")[1];
30106
- }
30107
30102
  }
30108
- token = token || process.env.APIFOX_ACCESS_TOKEN;
30109
- projectId = projectId || process.env.APIFOX_PROJECT_ID;
30103
+ token = process.env.APIFOX_ACCESS_TOKEN;
30110
30104
  console.error("Project ID:", projectId || "\u672A\u8BBE\u7F6E");
30111
30105
  console.error("Token:", token ? "\u5DF2\u8BBE\u7F6E" : "\u672A\u8BBE\u7F6E");
30112
- async function fetchApifox(endpoint, authToken, options) {
30113
- const response = await fetch(`${APIFOX_BASE_URL}${endpoint}`, {
30114
- method: options?.method || "GET",
30115
- headers: {
30116
- "Authorization": `Bearer ${authToken}`,
30117
- "Content-Type": "application/json",
30118
- "X-Apifox-Api-Version": "2024-03-28"
30119
- },
30120
- body: options?.body ? JSON.stringify(options.body) : void 0
30106
+ async function main() {
30107
+ const server = new McpServer({
30108
+ name: "lhwapi-mcp-server",
30109
+ version: "1.0.0"
30121
30110
  });
30122
- if (!response.ok) {
30123
- const error48 = await response.text();
30124
- throw new Error(`Apifox API error: ${response.status} - ${error48}`);
30125
- }
30126
- const data = await response.json();
30127
- return data.data;
30128
- }
30129
- var server = new McpServer({
30130
- name: "lhwapi-mcp-server",
30131
- version: "1.0.0"
30132
- });
30133
- server.registerTool(
30134
- "export_openapi",
30135
- {
30136
- description: "\u5BFC\u51FA\u9879\u76EE\u7684 OpenAPI (Swagger) \u683C\u5F0F\u6570\u636E\uFF0C\u652F\u6301 JSON \u6216 YAML \u683C\u5F0F",
30137
- inputSchema: external_exports3.object({
30138
- oasVersion: external_exports3.string().optional().describe("OpenAPI \u7248\u672C: 3.0, 3.1, 2.0\uFF0C\u9ED8\u8BA4 3.1"),
30139
- exportFormat: external_exports3.string().optional().describe("\u5BFC\u51FA\u683C\u5F0F: JSON \u6216 YAML\uFF0C\u9ED8\u8BA4 JSON")
30140
- }).shape
30141
- },
30142
- async ({ oasVersion, exportFormat }) => {
30143
- console.error("\u8C03\u7528 export_openapi \u5DE5\u5177");
30144
- console.error("projectId:", projectId);
30145
- if (!token) {
30146
- return {
30147
- content: [{ type: "text", text: "\u9519\u8BEF: \u8BF7\u8BBE\u7F6E APIFOX_ACCESS_TOKEN \u73AF\u5883\u53D8\u91CF" }],
30148
- isError: true
30149
- };
30150
- }
30151
- if (!projectId) {
30152
- return {
30153
- content: [{ type: "text", text: "\u9519\u8BEF: \u8BF7\u901A\u8FC7 --project-id \u53C2\u6570\u6307\u5B9A\u9879\u76EE ID" }],
30154
- isError: true
30155
- };
30156
- }
30157
- try {
30158
- const result = await fetchApifox(
30159
- `/v1/projects/${projectId}/export-openapi`,
30160
- token,
30161
- {
30111
+ server.registerTool(
30112
+ "export_openapi",
30113
+ {
30114
+ description: "\u5BFC\u51FA\u9879\u76EE\u7684 OpenAPI (Swagger) \u683C\u5F0F\u6570\u636E",
30115
+ inputSchema: external_exports3.object({
30116
+ oasVersion: external_exports3.string().optional().describe("OpenAPI \u7248\u672C: 3.0, 3.1, 2.0\uFF0C\u9ED8\u8BA4 3.1"),
30117
+ exportFormat: external_exports3.string().optional().describe("\u5BFC\u51FA\u683C\u5F0F: JSON \u6216 YAML\uFF0C\u9ED8\u8BA4 JSON"),
30118
+ scope: external_exports3.string().optional().describe("\u5BFC\u51FA\u8303\u56F4: ALL\uFF0C\u9ED8\u8BA4 ALL")
30119
+ }).shape
30120
+ },
30121
+ async ({ oasVersion, exportFormat, scope }) => {
30122
+ console.error("\u8C03\u7528 export_openapi \u5DE5\u5177");
30123
+ if (!token) {
30124
+ return {
30125
+ content: [{ type: "text", text: "\u9519\u8BEF: \u8BF7\u8BBE\u7F6E APIFOX_ACCESS_TOKEN \u73AF\u5883\u53D8\u91CF" }],
30126
+ isError: true
30127
+ };
30128
+ }
30129
+ if (!projectId) {
30130
+ return {
30131
+ content: [{ type: "text", text: "\u9519\u8BEF: \u8BF7\u901A\u8FC7 --project-id \u53C2\u6570\u6307\u5B9A\u9879\u76EE ID" }],
30132
+ isError: true
30133
+ };
30134
+ }
30135
+ try {
30136
+ const response = await fetch(`${APIFOX_BASE_URL}/v1/projects/${projectId}/export-openapi`, {
30162
30137
  method: "POST",
30163
- body: {
30164
- scope: { type: "ALL" },
30138
+ headers: {
30139
+ "Authorization": `Bearer ${token}`,
30140
+ "Content-Type": "application/json",
30141
+ "X-Apifox-Api-Version": "2024-03-28"
30142
+ },
30143
+ body: JSON.stringify({
30144
+ scope: { type: scope || "ALL" },
30165
30145
  oasVersion: oasVersion || "3.1",
30166
30146
  exportFormat: exportFormat || "JSON"
30167
- }
30147
+ })
30148
+ });
30149
+ if (!response.ok) {
30150
+ const error48 = await response.text();
30151
+ return {
30152
+ content: [{ type: "text", text: `API \u9519\u8BEF ${response.status}: ${error48}` }],
30153
+ isError: true
30154
+ };
30168
30155
  }
30169
- );
30170
- const format = exportFormat || "JSON";
30171
- let output;
30172
- if (format.toUpperCase() === "YAML") {
30173
- output = result.openapi || "";
30174
- } else {
30175
- output = JSON.stringify(result, null, 2);
30156
+ const result = await response.json();
30157
+ console.error("\u5BFC\u51FA\u6210\u529F");
30158
+ const format = (exportFormat || "JSON").toUpperCase();
30159
+ let output;
30160
+ if (format === "YAML") {
30161
+ output = result.openapi || JSON.stringify(result, null, 2);
30162
+ } else {
30163
+ output = JSON.stringify(result, null, 2);
30164
+ }
30165
+ return {
30166
+ content: [{ type: "text", text: output }]
30167
+ };
30168
+ } catch (error48) {
30169
+ console.error("\u5BFC\u51FA\u9519\u8BEF:", error48);
30170
+ return {
30171
+ content: [{ type: "text", text: `\u5BFC\u51FA\u5931\u8D25: ${error48 instanceof Error ? error48.message : String(error48)}` }],
30172
+ isError: true
30173
+ };
30176
30174
  }
30177
- console.error("\u5BFC\u51FA\u6210\u529F");
30178
- return {
30179
- content: [{ type: "text", text: output }]
30180
- };
30181
- } catch (error48) {
30182
- console.error("\u5BFC\u51FA\u9519\u8BEF:", error48);
30183
- return {
30184
- content: [{ type: "text", text: `\u5BFC\u51FA\u5931\u8D25: ${error48 instanceof Error ? error48.message : String(error48)}` }],
30185
- isError: true
30186
- };
30187
- }
30188
- }
30189
- );
30190
- server.registerTool(
30191
- "refresh_oas",
30192
- {
30193
- description: "\u5237\u65B0\u9879\u76EE\u7684 OpenAPI \u7F13\u5B58",
30194
- inputSchema: external_exports3.object({}).shape
30195
- },
30196
- async () => {
30197
- console.error("\u8C03\u7528 refresh_oas \u5DE5\u5177");
30198
- if (!token) {
30199
- return {
30200
- content: [{ type: "text", text: "\u9519\u8BEF: \u8BF7\u8BBE\u7F6E APIFOX_ACCESS_TOKEN \u73AF\u5883\u53D8\u91CF" }],
30201
- isError: true
30202
- };
30203
- }
30204
- if (!projectId) {
30205
- return {
30206
- content: [{ type: "text", text: "\u9519\u8BEF: \u8BF7\u901A\u8FC7 --project-id \u53C2\u6570\u6307\u5B9A\u9879\u76EE ID" }],
30207
- isError: true
30208
- };
30209
- }
30210
- try {
30211
- await fetchApifox(
30212
- `/v1/projects/${projectId}/refresh-openapi-cache`,
30213
- token,
30214
- { method: "POST" }
30215
- );
30216
- console.error("\u5237\u65B0\u6210\u529F");
30217
- return {
30218
- content: [{ type: "text", text: "OpenAPI \u7F13\u5B58\u5DF2\u5237\u65B0" }]
30219
- };
30220
- } catch (error48) {
30221
- console.error("\u5237\u65B0\u9519\u8BEF:", error48);
30222
- return {
30223
- content: [{ type: "text", text: `\u5237\u65B0\u5931\u8D25: ${error48 instanceof Error ? error48.message : String(error48)}` }],
30224
- isError: true
30225
- };
30226
30175
  }
30227
- }
30228
- );
30229
- server.registerTool(
30230
- "list_apis",
30231
- {
30232
- description: "\u83B7\u53D6\u9879\u76EE\u4E0B\u7684 API \u63A5\u53E3\u5217\u8868",
30233
- inputSchema: external_exports3.object({}).shape
30234
- },
30235
- async () => {
30236
- console.error("\u8C03\u7528 list_apis \u5DE5\u5177");
30237
- if (!token) {
30238
- return {
30239
- content: [{ type: "text", text: "\u9519\u8BEF: \u8BF7\u8BBE\u7F6E APIFOX_ACCESS_TOKEN \u73AF\u5883\u53D8\u91CF" }],
30240
- isError: true
30241
- };
30242
- }
30243
- if (!projectId) {
30244
- return {
30245
- content: [{ type: "text", text: "\u9519\u8BEF: \u8BF7\u901A\u8FC7 --project-id \u53C2\u6570\u6307\u5B9A\u9879\u76EE ID" }],
30246
- isError: true
30247
- };
30248
- }
30249
- try {
30250
- const apis = await fetchApifox(`/v1/projects/${projectId}/apis`, token);
30251
- const text = apis.map((api) => `[${api.method?.toUpperCase() || "GET"}] ${api.path} - ${api.name}`).join("\n");
30252
- console.error("\u83B7\u53D6 API \u5217\u8868\u6210\u529F\uFF0C\u6570\u91CF:", apis.length);
30253
- return {
30254
- content: [{ type: "text", text: text || "\u6682\u65E0 API" }]
30255
- };
30256
- } catch (error48) {
30257
- console.error("\u83B7\u53D6 API \u5217\u8868\u9519\u8BEF:", error48);
30258
- return {
30259
- content: [{ type: "text", text: `\u83B7\u53D6\u5931\u8D25: ${error48 instanceof Error ? error48.message : String(error48)}` }],
30260
- isError: true
30261
- };
30262
- }
30263
- }
30264
- );
30265
- async function main() {
30176
+ );
30266
30177
  console.error("MCP Server \u521D\u59CB\u5316\u5B8C\u6210\uFF0C\u7B49\u5F85\u8FDE\u63A5...");
30267
30178
  const transport = new StdioServerTransport();
30268
30179
  await server.connect(transport);
package/dist/index.js CHANGED
@@ -13,157 +13,79 @@ for (let i = 0; i < args.length; i++) {
13
13
  else if (args[i].startsWith("--project-id=")) {
14
14
  projectId = args[i].split("=")[1];
15
15
  }
16
- if (args[i] === "--token" && args[i + 1]) {
17
- token = args[i + 1];
18
- }
19
- else if (args[i].startsWith("--token=")) {
20
- token = args[i].split("=")[1];
21
- }
22
16
  }
23
- token = token || process.env.APIFOX_ACCESS_TOKEN;
24
- projectId = projectId || process.env.APIFOX_PROJECT_ID;
17
+ token = process.env.APIFOX_ACCESS_TOKEN;
25
18
  console.error("Project ID:", projectId || "未设置");
26
19
  console.error("Token:", token ? "已设置" : "未设置");
27
- async function fetchApifox(endpoint, authToken, options) {
28
- const response = await fetch(`${APIFOX_BASE_URL}${endpoint}`, {
29
- method: options?.method || "GET",
30
- headers: {
31
- "Authorization": `Bearer ${authToken}`,
32
- "Content-Type": "application/json",
33
- "X-Apifox-Api-Version": "2024-03-28",
34
- },
35
- body: options?.body ? JSON.stringify(options.body) : undefined,
20
+ async function main() {
21
+ const server = new McpServer({
22
+ name: "lhwapi-mcp-server",
23
+ version: "1.0.0",
36
24
  });
37
- if (!response.ok) {
38
- const error = await response.text();
39
- throw new Error(`Apifox API error: ${response.status} - ${error}`);
40
- }
41
- const data = await response.json();
42
- return data.data;
43
- }
44
- const server = new McpServer({
45
- name: "lhwapi-mcp-server",
46
- version: "1.0.0",
47
- });
48
- server.registerTool("export_openapi", {
49
- description: "导出项目的 OpenAPI (Swagger) 格式数据,支持 JSON 或 YAML 格式",
50
- inputSchema: z.object({
51
- oasVersion: z.string().optional().describe("OpenAPI 版本: 3.0, 3.1, 2.0,默认 3.1"),
52
- exportFormat: z.string().optional().describe("导出格式: JSON 或 YAML,默认 JSON"),
53
- }).shape,
54
- }, async ({ oasVersion, exportFormat }) => {
55
- console.error("调用 export_openapi 工具");
56
- console.error("projectId:", projectId);
57
- if (!token) {
58
- return {
59
- content: [{ type: "text", text: "错误: 请设置 APIFOX_ACCESS_TOKEN 环境变量" }],
60
- isError: true,
61
- };
62
- }
63
- if (!projectId) {
64
- return {
65
- content: [{ type: "text", text: "错误: 请通过 --project-id 参数指定项目 ID" }],
66
- isError: true,
67
- };
68
- }
69
- try {
70
- const result = await fetchApifox(`/v1/projects/${projectId}/export-openapi`, token, {
71
- method: "POST",
72
- body: {
73
- scope: { type: "ALL" },
74
- oasVersion: oasVersion || "3.1",
75
- exportFormat: exportFormat || "JSON",
76
- },
77
- });
78
- const format = exportFormat || "JSON";
79
- let output;
80
- if (format.toUpperCase() === "YAML") {
81
- output = result.openapi || "";
25
+ server.registerTool("export_openapi", {
26
+ description: "导出项目的 OpenAPI (Swagger) 格式数据",
27
+ inputSchema: z.object({
28
+ oasVersion: z.string().optional().describe("OpenAPI 版本: 3.0, 3.1, 2.0,默认 3.1"),
29
+ exportFormat: z.string().optional().describe("导出格式: JSON YAML,默认 JSON"),
30
+ scope: z.string().optional().describe("导出范围: ALL,默认 ALL"),
31
+ }).shape,
32
+ }, async ({ oasVersion, exportFormat, scope }) => {
33
+ console.error("调用 export_openapi 工具");
34
+ if (!token) {
35
+ return {
36
+ content: [{ type: "text", text: "错误: 请设置 APIFOX_ACCESS_TOKEN 环境变量" }],
37
+ isError: true,
38
+ };
82
39
  }
83
- else {
84
- output = JSON.stringify(result, null, 2);
40
+ if (!projectId) {
41
+ return {
42
+ content: [{ type: "text", text: "错误: 请通过 --project-id 参数指定项目 ID" }],
43
+ isError: true,
44
+ };
85
45
  }
86
- console.error("导出成功");
87
- return {
88
- content: [{ type: "text", text: output }],
89
- };
90
- }
91
- catch (error) {
92
- console.error("导出错误:", error);
93
- return {
94
- content: [{ type: "text", text: `导出失败: ${error instanceof Error ? error.message : String(error)}` }],
95
- isError: true,
96
- };
97
- }
98
- });
99
- server.registerTool("refresh_oas", {
100
- description: "刷新项目的 OpenAPI 缓存",
101
- inputSchema: z.object({}).shape,
102
- }, async () => {
103
- console.error("调用 refresh_oas 工具");
104
- if (!token) {
105
- return {
106
- content: [{ type: "text", text: "错误: 请设置 APIFOX_ACCESS_TOKEN 环境变量" }],
107
- isError: true,
108
- };
109
- }
110
- if (!projectId) {
111
- return {
112
- content: [{ type: "text", text: "错误: 请通过 --project-id 参数指定项目 ID" }],
113
- isError: true,
114
- };
115
- }
116
- try {
117
- await fetchApifox(`/v1/projects/${projectId}/refresh-openapi-cache`, token, { method: "POST" });
118
- console.error("刷新成功");
119
- return {
120
- content: [{ type: "text", text: "OpenAPI 缓存已刷新" }],
121
- };
122
- }
123
- catch (error) {
124
- console.error("刷新错误:", error);
125
- return {
126
- content: [{ type: "text", text: `刷新失败: ${error instanceof Error ? error.message : String(error)}` }],
127
- isError: true,
128
- };
129
- }
130
- });
131
- server.registerTool("list_apis", {
132
- description: "获取项目下的 API 接口列表",
133
- inputSchema: z.object({}).shape,
134
- }, async () => {
135
- console.error("调用 list_apis 工具");
136
- if (!token) {
137
- return {
138
- content: [{ type: "text", text: "错误: 请设置 APIFOX_ACCESS_TOKEN 环境变量" }],
139
- isError: true,
140
- };
141
- }
142
- if (!projectId) {
143
- return {
144
- content: [{ type: "text", text: "错误: 请通过 --project-id 参数指定项目 ID" }],
145
- isError: true,
146
- };
147
- }
148
- try {
149
- const apis = await fetchApifox(`/v1/projects/${projectId}/apis`, token);
150
- const text = apis
151
- .map((api) => `[${api.method?.toUpperCase() || 'GET'}] ${api.path} - ${api.name}`)
152
- .join("\n");
153
- console.error("获取 API 列表成功,数量:", apis.length);
154
- return {
155
- content: [{ type: "text", text: text || "暂无 API" }],
156
- };
157
- }
158
- catch (error) {
159
- console.error("获取 API 列表错误:", error);
160
- return {
161
- content: [{ type: "text", text: `获取失败: ${error instanceof Error ? error.message : String(error)}` }],
162
- isError: true,
163
- };
164
- }
165
- });
166
- async function main() {
46
+ try {
47
+ const response = await fetch(`${APIFOX_BASE_URL}/v1/projects/${projectId}/export-openapi`, {
48
+ method: "POST",
49
+ headers: {
50
+ "Authorization": `Bearer ${token}`,
51
+ "Content-Type": "application/json",
52
+ "X-Apifox-Api-Version": "2024-03-28",
53
+ },
54
+ body: JSON.stringify({
55
+ scope: { type: scope || "ALL" },
56
+ oasVersion: oasVersion || "3.1",
57
+ exportFormat: exportFormat || "JSON",
58
+ }),
59
+ });
60
+ if (!response.ok) {
61
+ const error = await response.text();
62
+ return {
63
+ content: [{ type: "text", text: `API 错误 ${response.status}: ${error}` }],
64
+ isError: true,
65
+ };
66
+ }
67
+ const result = await response.json();
68
+ console.error("导出成功");
69
+ const format = (exportFormat || "JSON").toUpperCase();
70
+ let output;
71
+ if (format === "YAML") {
72
+ output = result.openapi || JSON.stringify(result, null, 2);
73
+ }
74
+ else {
75
+ output = JSON.stringify(result, null, 2);
76
+ }
77
+ return {
78
+ content: [{ type: "text", text: output }],
79
+ };
80
+ }
81
+ catch (error) {
82
+ console.error("导出错误:", error);
83
+ return {
84
+ content: [{ type: "text", text: `导出失败: ${error instanceof Error ? error.message : String(error)}` }],
85
+ isError: true,
86
+ };
87
+ }
88
+ });
167
89
  console.error("MCP Server 初始化完成,等待连接...");
168
90
  const transport = new StdioServerTransport();
169
91
  await server.connect(transport);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAE3C,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAEjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,SAA6B,CAAC;AAClC,IAAI,KAAyB,CAAC;AAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9C,SAAS,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,CAAC;SAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/C,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAExC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,IAAI,KAAK,CAAC,CAAC;AACjD,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAE/C,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YAC9E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SAC1D,CAAC,CAAC,KAAK;KACT,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAIvC,EAAE,EAAE;QACH,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAEtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC;gBAC9E,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC;gBAC5E,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,eAAe,gBAAgB,SAAS,iBAAiB,EAAE;gBACzF,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,eAAe,EAAE,UAAU,KAAK,EAAE;oBAClC,cAAc,EAAE,kBAAkB;oBAClC,sBAAsB,EAAE,YAAY;iBACrC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,EAAE;oBAC/B,UAAU,EAAE,UAAU,IAAI,KAAK;oBAC/B,YAAY,EAAE,YAAY,IAAI,MAAM;iBACrC,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpC,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,EAAE,CAAC;oBACjF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEtB,MAAM,MAAM,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,MAAc,CAAC;YACnB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3C,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aACnD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,SAAS,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC7G,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lhwapi-mcp-server",
3
- "version": "1.0.9",
3
+ "version": "1.0.11",
4
4
  "description": "MCP server for API documentation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",