@softtechai/quickmcp 1.0.16 → 1.1.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 (417) hide show
  1. package/dist/auth/auth-utils.d.ts +130 -0
  2. package/dist/auth/auth-utils.d.ts.map +1 -0
  3. package/dist/auth/auth-utils.js +600 -0
  4. package/dist/auth/auth-utils.js.map +1 -0
  5. package/dist/auth/jwks-provider.d.ts +9 -0
  6. package/dist/auth/jwks-provider.d.ts.map +1 -0
  7. package/dist/auth/jwks-provider.js +56 -0
  8. package/dist/auth/jwks-provider.js.map +1 -0
  9. package/dist/auth/token-utils.d.ts +40 -0
  10. package/dist/auth/token-utils.d.ts.map +1 -0
  11. package/dist/auth/token-utils.js +162 -0
  12. package/dist/auth/token-utils.js.map +1 -0
  13. package/dist/client/MCPClient.js +5 -4
  14. package/dist/client/MCPClient.js.map +1 -1
  15. package/dist/config/auth-config.d.ts +16 -0
  16. package/dist/config/auth-config.d.ts.map +1 -0
  17. package/dist/config/auth-config.js +107 -0
  18. package/dist/config/auth-config.js.map +1 -0
  19. package/dist/constant/constant.d.ts +20 -0
  20. package/dist/constant/constant.d.ts.map +1 -0
  21. package/dist/constant/constant.js +24 -0
  22. package/dist/constant/constant.js.map +1 -0
  23. package/dist/database/async-datastore.d.ts +6 -0
  24. package/dist/database/async-datastore.d.ts.map +1 -0
  25. package/dist/database/async-datastore.js +15 -0
  26. package/dist/database/async-datastore.js.map +1 -0
  27. package/dist/database/database-utils.d.ts +6 -0
  28. package/dist/database/database-utils.d.ts.map +1 -0
  29. package/dist/database/database-utils.js +29 -0
  30. package/dist/database/database-utils.js.map +1 -0
  31. package/dist/database/datastore.d.ts +164 -0
  32. package/dist/database/datastore.d.ts.map +1 -0
  33. package/dist/{parsers/types/index.js → database/datastore.js} +1 -0
  34. package/dist/database/datastore.js.map +1 -0
  35. package/dist/database/factory.d.ts +4 -0
  36. package/dist/database/factory.d.ts.map +1 -0
  37. package/dist/database/factory.js +32 -0
  38. package/dist/database/factory.js.map +1 -0
  39. package/dist/database/jdbc-manager.d.ts +49 -0
  40. package/dist/database/jdbc-manager.d.ts.map +1 -0
  41. package/dist/database/jdbc-manager.js +50 -0
  42. package/dist/database/jdbc-manager.js.map +1 -0
  43. package/dist/database/sqlite-manager.d.ts +46 -44
  44. package/dist/database/sqlite-manager.d.ts.map +1 -1
  45. package/dist/database/sqlite-manager.js +492 -42
  46. package/dist/database/sqlite-manager.js.map +1 -1
  47. package/dist/database/supabase-manager.d.ts +58 -0
  48. package/dist/database/supabase-manager.d.ts.map +1 -0
  49. package/dist/database/supabase-manager.js +432 -0
  50. package/dist/database/supabase-manager.js.map +1 -0
  51. package/dist/generators/MCPServerGenerator.d.ts +103 -20
  52. package/dist/generators/MCPServerGenerator.d.ts.map +1 -1
  53. package/dist/generators/MCPServerGenerator.js +6930 -128
  54. package/dist/generators/MCPServerGenerator.js.map +1 -1
  55. package/dist/index.d.ts +0 -1
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +8 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/integrated-mcp-server-new.d.ts +14 -2
  60. package/dist/integrated-mcp-server-new.d.ts.map +1 -1
  61. package/dist/integrated-mcp-server-new.js +270 -180
  62. package/dist/integrated-mcp-server-new.js.map +1 -1
  63. package/dist/mcp-core/McpCoreService.d.ts +63 -0
  64. package/dist/mcp-core/McpCoreService.d.ts.map +1 -0
  65. package/dist/mcp-core/McpCoreService.js +492 -0
  66. package/dist/mcp-core/McpCoreService.js.map +1 -0
  67. package/dist/parsers/CsvParser.d.ts +1 -1
  68. package/dist/parsers/CsvParser.d.ts.map +1 -1
  69. package/dist/parsers/CsvParser.js +3 -2
  70. package/dist/parsers/CsvParser.js.map +1 -1
  71. package/dist/parsers/DatabaseParser.d.ts.map +1 -1
  72. package/dist/parsers/DatabaseParser.js +9 -8
  73. package/dist/parsers/DatabaseParser.js.map +1 -1
  74. package/dist/parsers/ExcelParser.d.ts +15 -0
  75. package/dist/parsers/ExcelParser.d.ts.map +1 -1
  76. package/dist/parsers/ExcelParser.js +287 -21
  77. package/dist/parsers/ExcelParser.js.map +1 -1
  78. package/dist/parsers/WebPageParser.d.ts +5 -0
  79. package/dist/parsers/WebPageParser.d.ts.map +1 -0
  80. package/dist/parsers/WebPageParser.js +35 -0
  81. package/dist/parsers/WebPageParser.js.map +1 -0
  82. package/dist/parsers/index.d.ts +3 -2
  83. package/dist/parsers/index.d.ts.map +1 -1
  84. package/dist/parsers/index.js +19 -16
  85. package/dist/parsers/index.js.map +1 -1
  86. package/dist/server/api/askApi.d.ts +41 -0
  87. package/dist/server/api/askApi.d.ts.map +1 -0
  88. package/dist/server/api/askApi.js +479 -0
  89. package/dist/server/api/askApi.js.map +1 -0
  90. package/dist/server/api/authApi.d.ts +101 -0
  91. package/dist/server/api/authApi.d.ts.map +1 -0
  92. package/dist/server/api/authApi.js +1472 -0
  93. package/dist/server/api/authApi.js.map +1 -0
  94. package/dist/server/api/authProperty.d.ts +18 -0
  95. package/dist/server/api/authProperty.d.ts.map +1 -0
  96. package/dist/server/api/authProperty.js +41 -0
  97. package/dist/server/api/authProperty.js.map +1 -0
  98. package/dist/server/api/configApi.d.ts +15 -0
  99. package/dist/server/api/configApi.d.ts.map +1 -0
  100. package/dist/server/api/configApi.js +42 -0
  101. package/dist/server/api/configApi.js.map +1 -0
  102. package/dist/server/api/databaseApi.d.ts +14 -0
  103. package/dist/server/api/databaseApi.d.ts.map +1 -0
  104. package/dist/server/api/databaseApi.js +111 -0
  105. package/dist/server/api/databaseApi.js.map +1 -0
  106. package/dist/server/api/directoryApi.d.ts +9 -0
  107. package/dist/server/api/directoryApi.d.ts.map +1 -0
  108. package/dist/server/api/directoryApi.js +103 -0
  109. package/dist/server/api/directoryApi.js.map +1 -0
  110. package/dist/server/api/generateApi.d.ts +24 -0
  111. package/dist/server/api/generateApi.d.ts.map +1 -0
  112. package/dist/server/api/generateApi.js +457 -0
  113. package/dist/server/api/generateApi.js.map +1 -0
  114. package/dist/server/api/healthApi.d.ts +9 -0
  115. package/dist/server/api/healthApi.d.ts.map +1 -0
  116. package/dist/server/api/healthApi.js +15 -0
  117. package/dist/server/api/healthApi.js.map +1 -0
  118. package/dist/server/api/indexApi.d.ts +21 -0
  119. package/dist/server/api/indexApi.d.ts.map +1 -0
  120. package/dist/server/api/indexApi.js +61 -0
  121. package/dist/server/api/indexApi.js.map +1 -0
  122. package/dist/server/api/logsApi.d.ts +12 -0
  123. package/dist/server/api/logsApi.d.ts.map +1 -0
  124. package/dist/server/api/logsApi.js +37 -0
  125. package/dist/server/api/logsApi.js.map +1 -0
  126. package/dist/server/api/mcpApi.d.ts +20 -0
  127. package/dist/server/api/mcpApi.d.ts.map +1 -0
  128. package/dist/server/api/mcpApi.js +120 -0
  129. package/dist/server/api/mcpApi.js.map +1 -0
  130. package/dist/server/api/nameApi.d.ts +21 -0
  131. package/dist/server/api/nameApi.d.ts.map +1 -0
  132. package/dist/server/api/nameApi.js +42 -0
  133. package/dist/server/api/nameApi.js.map +1 -0
  134. package/dist/server/api/parseApi.d.ts +9 -0
  135. package/dist/server/api/parseApi.d.ts.map +1 -0
  136. package/dist/server/api/parseApi.js +3245 -0
  137. package/dist/server/api/parseApi.js.map +1 -0
  138. package/dist/server/api/serverApi.d.ts +44 -0
  139. package/dist/server/api/serverApi.d.ts.map +1 -0
  140. package/dist/server/api/serverApi.js +417 -0
  141. package/dist/server/api/serverApi.js.map +1 -0
  142. package/dist/{dynamic-mcp-executor.d.ts → server/dynamic-mcp-executor.d.ts} +4 -5
  143. package/dist/server/dynamic-mcp-executor.d.ts.map +1 -0
  144. package/dist/server/dynamic-mcp-executor.js +62 -0
  145. package/dist/server/dynamic-mcp-executor.js.map +1 -0
  146. package/dist/server/port-utils.d.ts +14 -0
  147. package/dist/server/port-utils.d.ts.map +1 -0
  148. package/dist/server/port-utils.js +31 -0
  149. package/dist/server/port-utils.js.map +1 -0
  150. package/dist/server/server-utils.d.ts +13 -0
  151. package/dist/server/server-utils.d.ts.map +1 -0
  152. package/dist/server/server-utils.js +72 -0
  153. package/dist/server/server-utils.js.map +1 -0
  154. package/dist/{web → server}/server.d.ts +1 -0
  155. package/dist/server/server.d.ts.map +1 -0
  156. package/dist/server/server.js +535 -0
  157. package/dist/server/server.js.map +1 -0
  158. package/dist/server/tool-executer.d.ts +101 -0
  159. package/dist/server/tool-executer.d.ts.map +1 -0
  160. package/dist/server/tool-executer.js +6198 -0
  161. package/dist/server/tool-executer.js.map +1 -0
  162. package/dist/types/index.d.ts +1197 -4
  163. package/dist/types/index.d.ts.map +1 -1
  164. package/dist/types/index.js +1028 -0
  165. package/dist/types/index.js.map +1 -1
  166. package/dist/upload/upload-utils.d.ts +4 -0
  167. package/dist/upload/upload-utils.d.ts.map +1 -0
  168. package/dist/upload/upload-utils.js +29 -0
  169. package/dist/upload/upload-utils.js.map +1 -0
  170. package/dist/utils/deployment-util.d.ts +14 -0
  171. package/dist/utils/deployment-util.d.ts.map +1 -0
  172. package/dist/utils/deployment-util.js +46 -0
  173. package/dist/utils/deployment-util.js.map +1 -0
  174. package/dist/utils/logger.d.ts +15 -0
  175. package/dist/utils/logger.d.ts.map +1 -0
  176. package/dist/utils/logger.js +56 -0
  177. package/dist/utils/logger.js.map +1 -0
  178. package/package.json +18 -6
  179. package/quickmcp-direct-stdio.js +176 -187
  180. package/src/web/public/app.js +15370 -1471
  181. package/src/web/public/authorization.html +868 -0
  182. package/src/web/public/database-tables.html +283 -547
  183. package/src/web/public/how-to-use.html +446 -462
  184. package/src/web/public/how-to-use.js +4 -4
  185. package/src/web/public/images/app/activepieces.png +0 -0
  186. package/src/web/public/images/app/airtable.png +0 -0
  187. package/src/web/public/images/app/androidstudio.png +0 -0
  188. package/src/web/public/images/app/antigravity.png +0 -0
  189. package/src/web/public/images/app/applenotes.png +0 -0
  190. package/src/web/public/images/app/applereminders.png +0 -0
  191. package/src/web/public/images/app/asana.png +0 -0
  192. package/src/web/public/images/app/azureai.png +0 -0
  193. package/src/web/public/images/app/bash.png +0 -0
  194. package/src/web/public/images/app/bearnotes.png +0 -0
  195. package/src/web/public/images/app/bitbucket.png +0 -0
  196. package/src/web/public/images/app/claude.png +0 -0
  197. package/src/web/public/images/app/cli.png +0 -0
  198. package/src/web/public/images/app/clickup.png +0 -0
  199. package/src/web/public/images/app/cohere.png +0 -0
  200. package/src/web/public/images/app/confluence.png +0 -0
  201. package/src/web/public/images/app/confluence2.png +0 -0
  202. package/src/web/public/images/app/curl.png +0 -0
  203. package/src/web/public/images/app/curl_mini.png +0 -0
  204. package/src/web/public/images/app/cursor.png +0 -0
  205. package/src/web/public/images/app/db2.png +0 -0
  206. package/src/web/public/images/app/deepseek.png +0 -0
  207. package/src/web/public/images/app/discord.png +0 -0
  208. package/src/web/public/images/app/docker.png +0 -0
  209. package/src/web/public/images/app/dockerhub.png +0 -0
  210. package/src/web/public/images/app/dropbox.png +0 -0
  211. package/src/web/public/images/app/elasticsearch.png +0 -0
  212. package/src/web/public/images/app/facebook.png +0 -0
  213. package/src/web/public/images/app/falai.png +0 -0
  214. package/src/web/public/images/app/fireworks.png +0 -0
  215. package/src/web/public/images/app/gdrive.png +0 -0
  216. package/src/web/public/images/app/gemini.png +0 -0
  217. package/src/web/public/images/app/github.png +0 -0
  218. package/src/web/public/images/app/githubcopilot.png +0 -0
  219. package/src/web/public/images/app/gitlab.png +0 -0
  220. package/src/web/public/images/app/gmail.png +0 -0
  221. package/src/web/public/images/app/googlecalender.png +0 -0
  222. package/src/web/public/images/app/googledocs.png +0 -0
  223. package/src/web/public/images/app/googlesheets.png +0 -0
  224. package/src/web/public/images/app/gradle.png +0 -0
  225. package/src/web/public/images/app/grafana.png +0 -0
  226. package/src/web/public/images/app/graphql.png +0 -0
  227. package/src/web/public/images/app/grok.png +0 -0
  228. package/src/web/public/images/app/groq.png +0 -0
  229. package/src/web/public/images/app/hazelcast.png +0 -0
  230. package/src/web/public/images/app/huggingface.png +0 -0
  231. package/src/web/public/images/app/imessage.png +0 -0
  232. package/src/web/public/images/app/instagram.png +0 -0
  233. package/src/web/public/images/app/intellij.png +0 -0
  234. package/src/web/public/images/app/jenkins.png +0 -0
  235. package/src/web/public/images/app/jira.png +0 -0
  236. package/src/web/public/images/app/kafka.png +0 -0
  237. package/src/web/public/images/app/kubernetes.png +0 -0
  238. package/src/web/public/images/app/linear.png +0 -0
  239. package/src/web/public/images/app/linkedin.png +0 -0
  240. package/src/web/public/images/app/llama.png +0 -0
  241. package/src/web/public/images/app/make.png +0 -0
  242. package/src/web/public/images/app/maven.png +0 -0
  243. package/src/web/public/images/app/mcp.png +0 -0
  244. package/src/web/public/images/app/microsoftteams.png +0 -0
  245. package/src/web/public/images/app/mistral.png +0 -0
  246. package/src/web/public/images/app/monday.png +0 -0
  247. package/src/web/public/images/app/mongodb.png +0 -0
  248. package/src/web/public/images/app/mssql.png +0 -0
  249. package/src/web/public/images/app/mysql.png +0 -0
  250. package/src/web/public/images/app/n8n.png +0 -0
  251. package/src/web/public/images/app/notion.png +0 -0
  252. package/src/web/public/images/app/npm.png +0 -0
  253. package/src/web/public/images/app/nuget.png +0 -0
  254. package/src/web/public/images/app/obsidian.png +0 -0
  255. package/src/web/public/images/app/openai.png +0 -0
  256. package/src/web/public/images/app/openrouter.png +0 -0
  257. package/src/web/public/images/app/opensearch.png +0 -0
  258. package/src/web/public/images/app/openshift.png +0 -0
  259. package/src/web/public/images/app/oracle.png +0 -0
  260. package/src/web/public/images/app/perplexity.png +0 -0
  261. package/src/web/public/images/app/pipedream.png +0 -0
  262. package/src/web/public/images/app/postgresql.png +0 -0
  263. package/src/web/public/images/app/powershell.png +0 -0
  264. package/src/web/public/images/app/prometheus.png +0 -0
  265. package/src/web/public/images/app/reddit.png +0 -0
  266. package/src/web/public/images/app/redis.png +0 -0
  267. package/src/web/public/images/app/rss.png +0 -0
  268. package/src/web/public/images/app/signal.png +0 -0
  269. package/src/web/public/images/app/slack.png +0 -0
  270. package/src/web/public/images/app/soap.png +0 -0
  271. package/src/web/public/images/app/sqlite.png +0 -0
  272. package/src/web/public/images/app/supabase.png +0 -0
  273. package/src/web/public/images/app/telegram.png +0 -0
  274. package/src/web/public/images/app/things3.png +0 -0
  275. package/src/web/public/images/app/threads.png +0 -0
  276. package/src/web/public/images/app/tiktok.png +0 -0
  277. package/src/web/public/images/app/together.png +0 -0
  278. package/src/web/public/images/app/trello.png +0 -0
  279. package/src/web/public/images/app/vscode.png +0 -0
  280. package/src/web/public/images/app/webhook.png +0 -0
  281. package/src/web/public/images/app/webpage.png +0 -0
  282. package/src/web/public/images/app/whatsappbusiness.png +0 -0
  283. package/src/web/public/images/app/windsorf.png +0 -0
  284. package/src/web/public/images/app/x.png +0 -0
  285. package/src/web/public/images/app/youtube.png +0 -0
  286. package/src/web/public/images/app/zapier.png +0 -0
  287. package/src/web/public/images/app/zededitor.png +0 -0
  288. package/src/web/public/images/app/zoom.png +0 -0
  289. package/src/web/public/images/avatar-anon.svg +4 -0
  290. package/src/web/public/images/favicon.png +0 -0
  291. package/src/web/public/images/install/chatgpt-web/step0.png +0 -0
  292. package/src/web/public/images/install/chatgpt-web/step1.png +0 -0
  293. package/src/web/public/images/install/chatgpt-web/step2.png +0 -0
  294. package/src/web/public/images/install/chatgpt-web/step3.png +0 -0
  295. package/src/web/public/images/install/chatgpt-web/step4.png +0 -0
  296. package/src/web/public/images/install/chatgpt-web/step5.png +0 -0
  297. package/src/web/public/images/readme/1-generate-servers.png +0 -0
  298. package/src/web/public/images/readme/2-database-connection.png +0 -0
  299. package/src/web/public/images/readme/2-file-upload.png +0 -0
  300. package/src/web/public/images/readme/3-data-preview.png +0 -0
  301. package/src/web/public/images/readme/4-data-preview2.png +0 -0
  302. package/src/web/public/images/readme/5-server-configuration.png +0 -0
  303. package/src/web/public/images/readme/6-server-generated-modal.png +0 -0
  304. package/src/web/public/images/readme/7-generated-servers.png +0 -0
  305. package/src/web/public/images/readme/8-generated-servers-view-details.png +0 -0
  306. package/src/web/public/images/readme/Screenshot 2025-10-09 at 20.23.51.png +0 -0
  307. package/src/web/public/images/readme/Screenshot 2025-10-09 at 20.24.59.png +0 -0
  308. package/src/web/public/images/readme/Screenshot 2025-10-09 at 20.25.05.png +0 -0
  309. package/src/web/public/images/readme/Screenshot 2025-10-09 at 20.25.14.png +0 -0
  310. package/src/web/public/images/readme/Screenshot 2025-10-09 at 20.25.21.png +0 -0
  311. package/src/web/public/images/readme/Screenshot 2025-10-09 at 20.25.36.png +0 -0
  312. package/src/web/public/index.html +4685 -488
  313. package/src/web/public/landing.html +1638 -0
  314. package/src/web/public/logger.js +31 -0
  315. package/src/web/public/login.html +372 -0
  316. package/src/web/public/manage-servers.html +121 -188
  317. package/src/web/public/pricing.html +537 -0
  318. package/src/web/public/quick-ask.html +133 -0
  319. package/src/web/public/quickmcp-styles.css +708 -0
  320. package/src/web/public/roles.html +177 -0
  321. package/src/web/public/shared.js +736 -3
  322. package/src/web/public/sidebar.js +414 -0
  323. package/src/web/public/test-servers.html +605 -221
  324. package/src/web/public/users.html +191 -0
  325. package/dist/client/MCPClientUnified.d.ts +0 -31
  326. package/dist/client/MCPClientUnified.d.ts.map +0 -1
  327. package/dist/client/MCPClientUnified.js +0 -275
  328. package/dist/client/MCPClientUnified.js.map +0 -1
  329. package/dist/client/MCPTestRunnerUnified.d.ts +0 -48
  330. package/dist/client/MCPTestRunnerUnified.d.ts.map +0 -1
  331. package/dist/client/MCPTestRunnerUnified.js +0 -183
  332. package/dist/client/MCPTestRunnerUnified.js.map +0 -1
  333. package/dist/database/json-manager.d.ts +0 -55
  334. package/dist/database/json-manager.d.ts.map +0 -1
  335. package/dist/database/json-manager.js +0 -128
  336. package/dist/database/json-manager.js.map +0 -1
  337. package/dist/dynamic-mcp-executor.d.ts.map +0 -1
  338. package/dist/dynamic-mcp-executor.js +0 -274
  339. package/dist/dynamic-mcp-executor.js.map +0 -1
  340. package/dist/generators/MCPServerGenerator-new.d.ts +0 -37
  341. package/dist/generators/MCPServerGenerator-new.d.ts.map +0 -1
  342. package/dist/generators/MCPServerGenerator-new.js +0 -287
  343. package/dist/generators/MCPServerGenerator-new.js.map +0 -1
  344. package/dist/generators/database/sqlite-manager.d.ts +0 -52
  345. package/dist/generators/database/sqlite-manager.js +0 -143
  346. package/dist/generators/generators/MCPServerGenerator.d.ts +0 -37
  347. package/dist/generators/generators/MCPServerGenerator.js +0 -396
  348. package/dist/integrated-mcp-server.d.ts +0 -25
  349. package/dist/integrated-mcp-server.d.ts.map +0 -1
  350. package/dist/integrated-mcp-server.js +0 -541
  351. package/dist/integrated-mcp-server.js.map +0 -1
  352. package/dist/mcp-inspector-server.d.ts +0 -3
  353. package/dist/mcp-inspector-server.d.ts.map +0 -1
  354. package/dist/mcp-inspector-server.js +0 -119
  355. package/dist/mcp-inspector-server.js.map +0 -1
  356. package/dist/mcp-sdk-server.d.ts +0 -3
  357. package/dist/mcp-sdk-server.d.ts.map +0 -1
  358. package/dist/mcp-sdk-server.js +0 -90
  359. package/dist/mcp-sdk-server.js.map +0 -1
  360. package/dist/mcp-server.d.ts +0 -3
  361. package/dist/mcp-server.d.ts.map +0 -1
  362. package/dist/mcp-server.js +0 -300
  363. package/dist/mcp-server.js.map +0 -1
  364. package/dist/parsers/parsers/ExcelParser.js +0 -118
  365. package/dist/quickmcp-unified-bridge.d.ts +0 -13
  366. package/dist/quickmcp-unified-bridge.d.ts.map +0 -1
  367. package/dist/quickmcp-unified-bridge.js +0 -176
  368. package/dist/quickmcp-unified-bridge.js.map +0 -1
  369. package/dist/sqlite-manager.js +0 -145
  370. package/dist/test-app.d.ts +0 -2
  371. package/dist/test-app.d.ts.map +0 -1
  372. package/dist/test-app.js +0 -119
  373. package/dist/test-app.js.map +0 -1
  374. package/dist/transport/base-transport.d.ts +0 -21
  375. package/dist/transport/base-transport.d.ts.map +0 -1
  376. package/dist/transport/base-transport.js +0 -16
  377. package/dist/transport/base-transport.js.map +0 -1
  378. package/dist/transport/index.d.ts +0 -10
  379. package/dist/transport/index.d.ts.map +0 -1
  380. package/dist/transport/index.js +0 -12
  381. package/dist/transport/index.js.map +0 -1
  382. package/dist/transport/sse-transport.d.ts +0 -13
  383. package/dist/transport/sse-transport.d.ts.map +0 -1
  384. package/dist/transport/sse-transport.js +0 -106
  385. package/dist/transport/sse-transport.js.map +0 -1
  386. package/dist/transport/stdio-transport.d.ts +0 -8
  387. package/dist/transport/stdio-transport.d.ts.map +0 -1
  388. package/dist/transport/stdio-transport.js +0 -53
  389. package/dist/transport/stdio-transport.js.map +0 -1
  390. package/dist/transport/streamable-http-transport.d.ts +0 -15
  391. package/dist/transport/streamable-http-transport.d.ts.map +0 -1
  392. package/dist/transport/streamable-http-transport.js +0 -151
  393. package/dist/transport/streamable-http-transport.js.map +0 -1
  394. package/dist/web/client/MCPClient.js +0 -348
  395. package/dist/web/client/MCPTestRunner.js +0 -317
  396. package/dist/web/database/json-manager.js +0 -124
  397. package/dist/web/database/sqlite-manager.js +0 -146
  398. package/dist/web/dynamic-mcp-executor.js +0 -443
  399. package/dist/web/generators/MCPServerGenerator-new.js +0 -284
  400. package/dist/web/generators/MCPServerGenerator.js +0 -566
  401. package/dist/web/integrated-mcp-server-new.js +0 -394
  402. package/dist/web/parsers/CsvParser.js +0 -144
  403. package/dist/web/parsers/DatabaseParser.js +0 -637
  404. package/dist/web/parsers/ExcelParser.js +0 -180
  405. package/dist/web/parsers/index.js +0 -152
  406. package/dist/web/server.d.ts.map +0 -1
  407. package/dist/web/server.js +0 -790
  408. package/dist/web/server.js.map +0 -1
  409. package/dist/web/types/index.js +0 -2
  410. package/dist/web/web/server.js +0 -860
  411. package/src/web/public/modern-styles.css +0 -946
  412. package/src/web/public/shared-styles.css +0 -2091
  413. /package/src/web/public/images/{1-claude-quickmcp-stdio.png → readme/1-claude-quickmcp-stdio.png} +0 -0
  414. /package/src/web/public/images/{2-claude-tools.png → readme/2-claude-tools.png} +0 -0
  415. /package/src/web/public/images/{3-claude-developer-settings.png → readme/3-claude-developer-settings.png} +0 -0
  416. /package/src/web/public/images/{4-claude-config.png → readme/4-claude-config.png} +0 -0
  417. /package/src/web/public/images/{5-claude-config-edit.png → readme/5-claude-config-edit.png} +0 -0
@@ -0,0 +1,414 @@
1
+ // Renders the shared sidebar into the #sidebar element on each page
2
+ (function () {
3
+ async function resolveAuthMode() {
4
+ try {
5
+ const response = await fetch('/api/auth/config');
6
+ if (!response.ok) return null;
7
+ const payload = await response.json();
8
+ const mode = payload?.data?.authMode;
9
+ const deployMode = payload?.data?.deployMode;
10
+ const usersEnabled = payload?.data?.usersEnabled;
11
+ return {
12
+ authMode: typeof mode === 'string' ? mode : null,
13
+ deployMode: typeof deployMode === 'string' ? deployMode : '',
14
+ usersEnabled: usersEnabled !== false
15
+ };
16
+ } catch {
17
+ return null;
18
+ }
19
+ }
20
+
21
+ function isActive(path) {
22
+ const p = window.location.pathname.replace(/\/$/, '');
23
+ if (p === '' || p === '/') return path === '/';
24
+ if (p === '/quick-ask' && path === '/') return true;
25
+ return p === path;
26
+ }
27
+
28
+ function navItem(href, icon, title, subtitle, active, iconClass = '') {
29
+ const base = "nav-item group relative flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors";
30
+ const activeCls = active
31
+ ? " active bg-slate-100 text-slate-900"
32
+ : "";
33
+ const iconBase = iconClass || "bg-transparent text-slate-500";
34
+ const currentAttr = active ? ' aria-current="page"' : '';
35
+ return `
36
+ <a href="${href}" class="${base}${activeCls}"${currentAttr}>
37
+ <div class="relative">
38
+ <div class="w-8 h-8 flex items-center justify-center rounded-md transition-colors ${iconBase}">
39
+ <i class="fas ${icon}"></i>
40
+ </div>
41
+ </div>
42
+ <div class="flex-1 min-w-0">
43
+ <span class="text-slate-700 font-medium text-sm block">${title}</span>
44
+ <span class="text-slate-500 text-xs mt-0.5 block">${subtitle}</span>
45
+ </div>
46
+ </a>
47
+ `;
48
+ }
49
+
50
+ function escapeHtml(value) {
51
+ return String(value || '')
52
+ .replace(/&/g, '&amp;')
53
+ .replace(/</g, '&lt;')
54
+ .replace(/>/g, '&gt;')
55
+ .replace(/"/g, '&quot;')
56
+ .replace(/'/g, '&#39;');
57
+ }
58
+
59
+ function normalizeChatTitle(chat) {
60
+ const directTitle = String(chat?.title || '').trim();
61
+ if (directTitle) return directTitle;
62
+ const firstUserMessage = Array.isArray(chat?.messages)
63
+ ? chat.messages.find((msg) => msg?.role === 'user' && String(msg?.content || '').trim())
64
+ : null;
65
+ const base = firstUserMessage ? String(firstUserMessage.content || '').trim() : '';
66
+ return base ? base.slice(0, 80) : 'New chat';
67
+ }
68
+
69
+ function normalizeChatPreview(chat) {
70
+ const messages = Array.isArray(chat?.messages) ? chat.messages : [];
71
+ for (let i = messages.length - 1; i >= 0; i -= 1) {
72
+ const text = String(messages[i]?.content || '').trim();
73
+ if (text) return text.slice(0, 96);
74
+ }
75
+ return 'No messages yet';
76
+ }
77
+
78
+ async function mountSharedQuickAskSidebar() {
79
+ // Quick Ask page (and pages embedding full Quick Ask UI) use app.js native sidebar logic.
80
+ if (document.getElementById('quickAskSection')) return;
81
+
82
+ const navList = document.getElementById('sidebarNavList');
83
+ if (!navList) return;
84
+
85
+ let section = document.getElementById('sharedQuickAskSidebarChats');
86
+ if (!section) {
87
+ section = document.createElement('div');
88
+ section.id = 'sharedQuickAskSidebarChats';
89
+ section.className = 'mt-3 pt-3 border-t border-slate-200/60 space-y-2';
90
+ navList.appendChild(section);
91
+ }
92
+
93
+ section.innerHTML = `
94
+ <div class="pt-1 flex items-center justify-between gap-2">
95
+ <p class="text-[11px] tracking-[0.14em] uppercase text-slate-500 font-semibold">Your Chats</p>
96
+ <a href="/quick-ask?new=1" class="inline-flex items-center gap-1 rounded-md border border-slate-200 px-2 py-1 text-[11px] font-semibold text-slate-700 hover:bg-slate-100">
97
+ <i class="fas fa-plus text-[10px]"></i>
98
+ New
99
+ </a>
100
+ </div>
101
+ <div id="sharedQuickAskSidebarChatList" class="space-y-1">
102
+ <p class="px-2 py-2 text-xs text-slate-500">Loading chats...</p>
103
+ </div>
104
+ <a href="/quick-ask?new=1" class="quick-ask-collapsed-add w-9 h-9 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-100 hover:text-blue-600" title="New chat" aria-label="New chat">
105
+ <i class="fas fa-plus text-[12px]"></i>
106
+ </a>
107
+ `;
108
+
109
+ const list = section.querySelector('#sharedQuickAskSidebarChatList');
110
+ if (!list) return;
111
+
112
+ try {
113
+ const response = await fetch('/api/ask/chats');
114
+ const payload = await response.json().catch(() => ({}));
115
+ const chatsRaw = (response.ok && payload?.success && Array.isArray(payload?.data?.chats))
116
+ ? payload.data.chats
117
+ : [];
118
+ const chats = chatsRaw
119
+ .map((chat) => ({
120
+ id: String(chat?.id || '').trim(),
121
+ title: normalizeChatTitle(chat),
122
+ preview: normalizeChatPreview(chat),
123
+ updatedAt: String(chat?.updatedAt || chat?.createdAt || '')
124
+ }))
125
+ .filter((chat) => chat.id)
126
+ .sort((a, b) => new Date(b.updatedAt || 0).getTime() - new Date(a.updatedAt || 0).getTime())
127
+ .slice(0, 8);
128
+
129
+ if (chats.length === 0) {
130
+ list.innerHTML = '<p class="px-2 py-2 text-xs text-slate-500">No chats yet.</p>';
131
+ return;
132
+ }
133
+
134
+ list.innerHTML = chats.map((chat) => `
135
+ <a href="/quick-ask?chat=${encodeURIComponent(chat.id)}" class="group block rounded-lg border border-slate-200 bg-white px-2 py-2 hover:bg-slate-50">
136
+ <p class="text-xs font-semibold text-slate-800 truncate">${escapeHtml(chat.title)}</p>
137
+ <p class="mt-0.5 text-[11px] text-slate-500 truncate">${escapeHtml(chat.preview)}</p>
138
+ </a>
139
+ `).join('');
140
+ } catch {
141
+ list.innerHTML = '<p class="px-2 py-2 text-xs text-slate-500">Unable to load chats.</p>';
142
+ }
143
+ }
144
+
145
+ function getSidebarPanelIconSvg() {
146
+ return `
147
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="h-5 w-5 flex-shrink-0" aria-hidden="true">
148
+ <rect width="18" height="18" x="3" y="3" rx="2"></rect>
149
+ <path d="M9 3v18"></path>
150
+ </svg>
151
+ `;
152
+ }
153
+
154
+ function setSidebarCollapseIcon() {
155
+ const iconWrap = document.getElementById('sidebarCollapseIcon');
156
+ if (!iconWrap) return;
157
+ iconWrap.innerHTML = getSidebarPanelIconSvg();
158
+ }
159
+
160
+ function normalizeSidebarWidth(value, fallback = '18rem') {
161
+ const raw = String(value || '').trim();
162
+ if (!raw) return fallback;
163
+ if (raw.endsWith('px') || raw.endsWith('rem')) return raw;
164
+ const num = Number(raw);
165
+ if (Number.isFinite(num) && num > 0) return `${num}px`;
166
+ return fallback;
167
+ }
168
+
169
+ function syncDesktopLayoutOffset(sidebar) {
170
+ if (!sidebar) return;
171
+ const collapsed = sidebar.classList.contains('collapsed');
172
+ const measuredWidth = Math.round(sidebar.getBoundingClientRect().width || 0);
173
+ const expanded = measuredWidth > 0 && !collapsed
174
+ ? `${measuredWidth}px`
175
+ : normalizeSidebarWidth(
176
+ sidebar.style.width
177
+ || (function(){ try { return localStorage.getItem('sidebarWidth'); } catch { return null; } })(),
178
+ '18rem'
179
+ );
180
+ const offset = collapsed ? '3rem' : expanded;
181
+ document.documentElement.style.setProperty('--sidebar-offset', offset);
182
+ if (document.body) document.body.setAttribute('data-has-sidebar', '1');
183
+
184
+ // Force layout sync to prevent header/sidebar overlap during collapse/expand transitions.
185
+ const isDesktop = window.matchMedia('(min-width: 1024px)').matches;
186
+ const header = document.querySelector('body > header');
187
+ const layouts = document.querySelectorAll('.app-main-layout');
188
+ if (isDesktop) {
189
+ if (header instanceof HTMLElement) {
190
+ header.style.marginLeft = offset;
191
+ header.style.width = `calc(100% - ${offset})`;
192
+ }
193
+ layouts.forEach((layout) => {
194
+ if (layout instanceof HTMLElement) {
195
+ layout.style.paddingLeft = `calc(${offset} + var(--sidebar-gutter, 0px))`;
196
+ }
197
+ });
198
+ } else {
199
+ if (header instanceof HTMLElement) {
200
+ header.style.marginLeft = '';
201
+ header.style.width = '';
202
+ }
203
+ layouts.forEach((layout) => {
204
+ if (layout instanceof HTMLElement) {
205
+ layout.style.paddingLeft = '';
206
+ }
207
+ });
208
+ }
209
+ }
210
+
211
+ function applySidebarCollapsedState() {
212
+ const sidebar = document.getElementById('sidebar');
213
+ if (!sidebar) return;
214
+ const collapseBtn = document.getElementById('sidebarCollapseBtn');
215
+ const collapsed = (function(){ try { return localStorage.getItem('sidebarCollapsed') === 'true'; } catch { return false; } })();
216
+ if (collapsed) {
217
+ sidebar.classList.add('collapsed');
218
+ sidebar.style.width = '3rem';
219
+ setSidebarCollapseIcon();
220
+ if (collapseBtn) collapseBtn.title = 'Expand sidebar';
221
+ } else {
222
+ sidebar.classList.remove('collapsed');
223
+ const savedWidth = (function(){ try { return localStorage.getItem('sidebarWidth'); } catch { return null; } })();
224
+ sidebar.style.width = normalizeSidebarWidth(savedWidth, '');
225
+ setSidebarCollapseIcon();
226
+ if (collapseBtn) collapseBtn.title = 'Collapse sidebar';
227
+ }
228
+ syncDesktopLayoutOffset(sidebar);
229
+ }
230
+
231
+ function initSidebarResizer() {
232
+ const sidebar = document.getElementById('sidebar');
233
+ const resizer = document.getElementById('sidebarResizer');
234
+ if (!sidebar || !resizer) return;
235
+ if (resizer.dataset.bound === 'true') return;
236
+ resizer.dataset.bound = 'true';
237
+
238
+ let isResizing = false;
239
+ let startX = 0;
240
+ let startWidth = 0;
241
+
242
+ const onMove = (event) => {
243
+ if (!isResizing) return;
244
+ const delta = event.clientX - startX;
245
+ const next = Math.max(180, Math.min(420, startWidth + delta));
246
+ sidebar.style.width = `${next}px`;
247
+ syncDesktopLayoutOffset(sidebar);
248
+ };
249
+
250
+ const onUp = () => {
251
+ if (!isResizing) return;
252
+ isResizing = false;
253
+ document.body.style.userSelect = '';
254
+ window.removeEventListener('mousemove', onMove);
255
+ window.removeEventListener('mouseup', onUp);
256
+ try { localStorage.setItem('sidebarWidth', sidebar.style.width || ''); } catch {}
257
+ };
258
+
259
+ resizer.addEventListener('mousedown', (event) => {
260
+ if (sidebar.classList.contains('collapsed')) return;
261
+ isResizing = true;
262
+ startX = event.clientX;
263
+ startWidth = sidebar.getBoundingClientRect().width;
264
+ document.body.style.userSelect = 'none';
265
+ window.addEventListener('mousemove', onMove);
266
+ window.addEventListener('mouseup', onUp);
267
+ event.preventDefault();
268
+ });
269
+
270
+ const savedWidth = (function(){ try { return localStorage.getItem('sidebarWidth'); } catch { return null; } })();
271
+ if (savedWidth && !sidebar.classList.contains('collapsed')) {
272
+ sidebar.style.width = savedWidth;
273
+ }
274
+ syncDesktopLayoutOffset(sidebar);
275
+ }
276
+
277
+ function wireSidebarInteractions() {
278
+ const sidebar = document.getElementById('sidebar');
279
+ const collapseBtn = document.getElementById('sidebarCollapseBtn');
280
+ const headerToggleBtn = document.getElementById('sidebarHeaderToggle');
281
+ const headerRow = document.getElementById('sidebarHeaderRow');
282
+ if (!sidebar) return;
283
+
284
+ if (collapseBtn && collapseBtn.dataset.bound !== 'true') {
285
+ collapseBtn.dataset.bound = 'true';
286
+ collapseBtn.addEventListener('click', (event) => {
287
+ event.preventDefault();
288
+ event.stopPropagation();
289
+ const current = (function(){ try { return localStorage.getItem('sidebarCollapsed') === 'true'; } catch { return false; } })();
290
+ try { localStorage.setItem('sidebarCollapsed', (!current).toString()); } catch {}
291
+ applySidebarCollapsedState();
292
+ });
293
+ }
294
+
295
+ if (headerRow && headerRow.dataset.bound !== 'true') {
296
+ headerRow.dataset.bound = 'true';
297
+ headerRow.addEventListener('click', (event) => {
298
+ if (!sidebar.classList.contains('collapsed')) return;
299
+ const clickedToggle = Array.isArray(event.composedPath?.())
300
+ ? event.composedPath().some((el) => el && (el.id === 'sidebarCollapseBtn' || el.id === 'sidebarHeaderToggle'))
301
+ : !!(event.target?.closest && (event.target.closest('#sidebarCollapseBtn') || event.target.closest('#sidebarHeaderToggle')));
302
+ if (clickedToggle) return;
303
+ try { localStorage.setItem('sidebarCollapsed', 'false'); } catch {}
304
+ applySidebarCollapsedState();
305
+ });
306
+ }
307
+
308
+ if (headerToggleBtn && headerToggleBtn.dataset.bound !== 'true') {
309
+ headerToggleBtn.dataset.bound = 'true';
310
+ headerToggleBtn.addEventListener('click', (event) => {
311
+ event.preventDefault();
312
+ event.stopPropagation();
313
+ const current = (function(){ try { return localStorage.getItem('sidebarCollapsed') === 'true'; } catch { return false; } })();
314
+ try { localStorage.setItem('sidebarCollapsed', (!current).toString()); } catch {}
315
+ applySidebarCollapsedState();
316
+ });
317
+ }
318
+
319
+ applySidebarCollapsedState();
320
+ initSidebarResizer();
321
+ if (!window.__quickmcpSidebarResizeBound) {
322
+ window.__quickmcpSidebarResizeBound = true;
323
+ window.addEventListener('resize', () => syncDesktopLayoutOffset(document.getElementById('sidebar')));
324
+ }
325
+ }
326
+
327
+ async function renderSidebar() {
328
+ const root = document.getElementById('sidebar');
329
+ if (!root) return;
330
+ root.setAttribute('data-ready', '0');
331
+
332
+ // Ensure base container classes exist (for pages that only mount an empty div)
333
+ if (!root.className) {
334
+ root.className = 'w-72 bg-white/95 backdrop-blur-sm border-r border-slate-200/60 flex flex-col flex-shrink-0 z-40 fixed inset-y-0 left-0 transform -translate-x-full lg:translate-x-0 lg:top-0 lg:h-screen transition-transform duration-300 ease-in-out h-full pt-16 lg:pt-0';
335
+ }
336
+
337
+ // Respect saved collapsed state before any async work
338
+ const preferCollapsed = (function(){ try { return localStorage.getItem('sidebarCollapsed') === 'true'; } catch { return false; } })();
339
+ if (preferCollapsed) {
340
+ root.classList.add('collapsed');
341
+ root.style.width = '3rem';
342
+ }
343
+
344
+ const authCfg = await resolveAuthMode();
345
+ const authMode = authCfg?.authMode || null;
346
+ const deployMode = (authCfg?.deployMode || '').toUpperCase();
347
+ const showAuthManagement = authMode !== 'NONE';
348
+ const showUsers = showAuthManagement && authCfg?.usersEnabled !== false && deployMode !== 'SAAS';
349
+
350
+ const html = `
351
+ <div class="p-4 bg-white">
352
+ <div id="sidebarHeaderRow" class="flex items-center justify-start gap-2 mb-2">
353
+ <div id="sidebarHeaderMain" class="flex items-center gap-3">
354
+ <div class="w-8 h-8 rounded-lg bg-blue-600 text-white flex items-center justify-center shadow-lg shadow-blue-500/20">
355
+ <i class="fas fa-rocket text-sm"></i>
356
+ </div>
357
+ </div>
358
+ <div id="sidebarHeaderToggleWrap" class="flex items-center ml-auto">
359
+ <button id="sidebarHeaderToggle" type="button" class="w-8 h-8 flex items-center justify-center rounded-md bg-slate-100 text-slate-600 hover:bg-slate-200 hover:text-blue-600 hover:shadow-sm transition-all" title="Toggle sidebar">
360
+ <span id="sidebarCollapseIcon" class="inline-flex items-center justify-center"></span>
361
+ </button>
362
+ </div>
363
+ <div id="sidebarHeaderActions" class="flex items-center gap-2">
364
+ <button id="closeSidebar" class="lg:hidden text-slate-400 hover:text-slate-600">
365
+ <i class="fas fa-times"></i>
366
+ </button>
367
+ </div>
368
+ </div>
369
+ </div>
370
+
371
+ <div id="sidebarNavList" class="p-3 overflow-y-auto flex-1 scrollbar-modern space-y-1.5">
372
+ ${navItem('/', 'fa-comment-dots', 'Quick Ask', 'Ask Aria with MCP tools', isActive('/'))}
373
+ ${navItem('/generate', 'fa-magic', 'Generate Server', 'Create new MCP servers', isActive('/generate'))}
374
+ ${navItem('/manage-servers', 'fa-server', 'Manage Servers', 'Edit & Control', isActive('/manage-servers'))}
375
+ ${navItem('/test-servers', 'fa-vial', 'Test Servers', 'Verify functionality', isActive('/test-servers'))}
376
+ ${showAuthManagement ? navItem('/authorization', 'fa-key', 'Authorization', 'MCP token policy', isActive('/authorization'), 'bg-amber-100 text-amber-700 group-hover:bg-amber-200') : ''}
377
+ ${showUsers ? navItem('/users', 'fa-users', 'Users', 'User management', isActive('/users'), 'bg-emerald-100 text-emerald-700 group-hover:bg-emerald-200') : ''}
378
+ ${navItem('/how-to-use', 'fa-book', 'How to Use', 'Documentation & Guide', isActive('/how-to-use'))}
379
+ </div>
380
+
381
+ <div id="sidebarUserSection" class="p-3 border-t border-slate-200/60 bg-white">
382
+ <button id="sidebarUserButton" data-user-menu-anchor="true" type="button" class="w-full flex items-center gap-3 px-2 py-2 rounded-lg hover:bg-slate-100 transition-colors text-left">
383
+ <div class="w-8 h-8 rounded-full bg-gradient-to-tr from-blue-500 to-purple-500 text-white flex items-center justify-center text-sm font-bold shadow-md flex-shrink-0" data-user-avatar>G</div>
384
+ <div id="sidebarUserMeta" class="min-w-0">
385
+ <div id="sidebarUserName" class="text-sm font-semibold text-slate-800 truncate">Guest</div>
386
+ <div id="sidebarUserEmail" class="text-xs text-slate-500 truncate">Not signed in</div>
387
+ </div>
388
+ </button>
389
+ </div>
390
+
391
+ <div id="sidebarResizer" class="hidden lg:block absolute top-0 right-0 h-full w-1 cursor-col-resize bg-transparent"></div>
392
+ `;
393
+
394
+ root.innerHTML = html;
395
+ setSidebarCollapseIcon();
396
+ wireSidebarInteractions();
397
+ syncDesktopLayoutOffset(root);
398
+ if (typeof window.updateUserAvatar === 'function') {
399
+ window.updateUserAvatar();
400
+ }
401
+ await mountSharedQuickAskSidebar();
402
+ root.setAttribute('data-ready', '1');
403
+ }
404
+
405
+ // auto-render (works both before and after DOMContentLoaded)
406
+ if (document.readyState === 'loading') {
407
+ document.addEventListener('DOMContentLoaded', renderSidebar);
408
+ } else {
409
+ renderSidebar();
410
+ }
411
+
412
+ // expose for manual calls if needed
413
+ window.renderSidebar = renderSidebar;
414
+ })();