@softtechai/quickmcp 1.0.16 → 1.1.1

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 (418) hide show
  1. package/README.md +3 -3
  2. package/dist/auth/auth-utils.d.ts +130 -0
  3. package/dist/auth/auth-utils.d.ts.map +1 -0
  4. package/dist/auth/auth-utils.js +600 -0
  5. package/dist/auth/auth-utils.js.map +1 -0
  6. package/dist/auth/jwks-provider.d.ts +9 -0
  7. package/dist/auth/jwks-provider.d.ts.map +1 -0
  8. package/dist/auth/jwks-provider.js +56 -0
  9. package/dist/auth/jwks-provider.js.map +1 -0
  10. package/dist/auth/token-utils.d.ts +40 -0
  11. package/dist/auth/token-utils.d.ts.map +1 -0
  12. package/dist/auth/token-utils.js +162 -0
  13. package/dist/auth/token-utils.js.map +1 -0
  14. package/dist/client/MCPClient.js +5 -4
  15. package/dist/client/MCPClient.js.map +1 -1
  16. package/dist/config/auth-config.d.ts +16 -0
  17. package/dist/config/auth-config.d.ts.map +1 -0
  18. package/dist/config/auth-config.js +107 -0
  19. package/dist/config/auth-config.js.map +1 -0
  20. package/dist/constant/constant.d.ts +20 -0
  21. package/dist/constant/constant.d.ts.map +1 -0
  22. package/dist/constant/constant.js +24 -0
  23. package/dist/constant/constant.js.map +1 -0
  24. package/dist/database/async-datastore.d.ts +6 -0
  25. package/dist/database/async-datastore.d.ts.map +1 -0
  26. package/dist/database/async-datastore.js +15 -0
  27. package/dist/database/async-datastore.js.map +1 -0
  28. package/dist/database/database-utils.d.ts +6 -0
  29. package/dist/database/database-utils.d.ts.map +1 -0
  30. package/dist/database/database-utils.js +29 -0
  31. package/dist/database/database-utils.js.map +1 -0
  32. package/dist/database/datastore.d.ts +164 -0
  33. package/dist/database/datastore.d.ts.map +1 -0
  34. package/dist/{parsers/types/index.js → database/datastore.js} +1 -0
  35. package/dist/database/datastore.js.map +1 -0
  36. package/dist/database/factory.d.ts +4 -0
  37. package/dist/database/factory.d.ts.map +1 -0
  38. package/dist/database/factory.js +32 -0
  39. package/dist/database/factory.js.map +1 -0
  40. package/dist/database/jdbc-manager.d.ts +49 -0
  41. package/dist/database/jdbc-manager.d.ts.map +1 -0
  42. package/dist/database/jdbc-manager.js +50 -0
  43. package/dist/database/jdbc-manager.js.map +1 -0
  44. package/dist/database/sqlite-manager.d.ts +46 -44
  45. package/dist/database/sqlite-manager.d.ts.map +1 -1
  46. package/dist/database/sqlite-manager.js +492 -42
  47. package/dist/database/sqlite-manager.js.map +1 -1
  48. package/dist/database/supabase-manager.d.ts +58 -0
  49. package/dist/database/supabase-manager.d.ts.map +1 -0
  50. package/dist/database/supabase-manager.js +432 -0
  51. package/dist/database/supabase-manager.js.map +1 -0
  52. package/dist/generators/MCPServerGenerator.d.ts +103 -20
  53. package/dist/generators/MCPServerGenerator.d.ts.map +1 -1
  54. package/dist/generators/MCPServerGenerator.js +6930 -128
  55. package/dist/generators/MCPServerGenerator.js.map +1 -1
  56. package/dist/index.d.ts +0 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +8 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/integrated-mcp-server-new.d.ts +14 -2
  61. package/dist/integrated-mcp-server-new.d.ts.map +1 -1
  62. package/dist/integrated-mcp-server-new.js +270 -180
  63. package/dist/integrated-mcp-server-new.js.map +1 -1
  64. package/dist/mcp-core/McpCoreService.d.ts +63 -0
  65. package/dist/mcp-core/McpCoreService.d.ts.map +1 -0
  66. package/dist/mcp-core/McpCoreService.js +492 -0
  67. package/dist/mcp-core/McpCoreService.js.map +1 -0
  68. package/dist/parsers/CsvParser.d.ts +1 -1
  69. package/dist/parsers/CsvParser.d.ts.map +1 -1
  70. package/dist/parsers/CsvParser.js +3 -2
  71. package/dist/parsers/CsvParser.js.map +1 -1
  72. package/dist/parsers/DatabaseParser.d.ts.map +1 -1
  73. package/dist/parsers/DatabaseParser.js +9 -8
  74. package/dist/parsers/DatabaseParser.js.map +1 -1
  75. package/dist/parsers/ExcelParser.d.ts +15 -0
  76. package/dist/parsers/ExcelParser.d.ts.map +1 -1
  77. package/dist/parsers/ExcelParser.js +287 -21
  78. package/dist/parsers/ExcelParser.js.map +1 -1
  79. package/dist/parsers/WebPageParser.d.ts +5 -0
  80. package/dist/parsers/WebPageParser.d.ts.map +1 -0
  81. package/dist/parsers/WebPageParser.js +35 -0
  82. package/dist/parsers/WebPageParser.js.map +1 -0
  83. package/dist/parsers/index.d.ts +3 -2
  84. package/dist/parsers/index.d.ts.map +1 -1
  85. package/dist/parsers/index.js +19 -16
  86. package/dist/parsers/index.js.map +1 -1
  87. package/dist/server/api/askApi.d.ts +41 -0
  88. package/dist/server/api/askApi.d.ts.map +1 -0
  89. package/dist/server/api/askApi.js +479 -0
  90. package/dist/server/api/askApi.js.map +1 -0
  91. package/dist/server/api/authApi.d.ts +101 -0
  92. package/dist/server/api/authApi.d.ts.map +1 -0
  93. package/dist/server/api/authApi.js +1472 -0
  94. package/dist/server/api/authApi.js.map +1 -0
  95. package/dist/server/api/authProperty.d.ts +18 -0
  96. package/dist/server/api/authProperty.d.ts.map +1 -0
  97. package/dist/server/api/authProperty.js +41 -0
  98. package/dist/server/api/authProperty.js.map +1 -0
  99. package/dist/server/api/configApi.d.ts +15 -0
  100. package/dist/server/api/configApi.d.ts.map +1 -0
  101. package/dist/server/api/configApi.js +42 -0
  102. package/dist/server/api/configApi.js.map +1 -0
  103. package/dist/server/api/databaseApi.d.ts +14 -0
  104. package/dist/server/api/databaseApi.d.ts.map +1 -0
  105. package/dist/server/api/databaseApi.js +111 -0
  106. package/dist/server/api/databaseApi.js.map +1 -0
  107. package/dist/server/api/directoryApi.d.ts +9 -0
  108. package/dist/server/api/directoryApi.d.ts.map +1 -0
  109. package/dist/server/api/directoryApi.js +103 -0
  110. package/dist/server/api/directoryApi.js.map +1 -0
  111. package/dist/server/api/generateApi.d.ts +24 -0
  112. package/dist/server/api/generateApi.d.ts.map +1 -0
  113. package/dist/server/api/generateApi.js +457 -0
  114. package/dist/server/api/generateApi.js.map +1 -0
  115. package/dist/server/api/healthApi.d.ts +9 -0
  116. package/dist/server/api/healthApi.d.ts.map +1 -0
  117. package/dist/server/api/healthApi.js +15 -0
  118. package/dist/server/api/healthApi.js.map +1 -0
  119. package/dist/server/api/indexApi.d.ts +21 -0
  120. package/dist/server/api/indexApi.d.ts.map +1 -0
  121. package/dist/server/api/indexApi.js +61 -0
  122. package/dist/server/api/indexApi.js.map +1 -0
  123. package/dist/server/api/logsApi.d.ts +12 -0
  124. package/dist/server/api/logsApi.d.ts.map +1 -0
  125. package/dist/server/api/logsApi.js +37 -0
  126. package/dist/server/api/logsApi.js.map +1 -0
  127. package/dist/server/api/mcpApi.d.ts +20 -0
  128. package/dist/server/api/mcpApi.d.ts.map +1 -0
  129. package/dist/server/api/mcpApi.js +120 -0
  130. package/dist/server/api/mcpApi.js.map +1 -0
  131. package/dist/server/api/nameApi.d.ts +21 -0
  132. package/dist/server/api/nameApi.d.ts.map +1 -0
  133. package/dist/server/api/nameApi.js +42 -0
  134. package/dist/server/api/nameApi.js.map +1 -0
  135. package/dist/server/api/parseApi.d.ts +9 -0
  136. package/dist/server/api/parseApi.d.ts.map +1 -0
  137. package/dist/server/api/parseApi.js +3245 -0
  138. package/dist/server/api/parseApi.js.map +1 -0
  139. package/dist/server/api/serverApi.d.ts +44 -0
  140. package/dist/server/api/serverApi.d.ts.map +1 -0
  141. package/dist/server/api/serverApi.js +417 -0
  142. package/dist/server/api/serverApi.js.map +1 -0
  143. package/dist/{dynamic-mcp-executor.d.ts → server/dynamic-mcp-executor.d.ts} +4 -5
  144. package/dist/server/dynamic-mcp-executor.d.ts.map +1 -0
  145. package/dist/server/dynamic-mcp-executor.js +62 -0
  146. package/dist/server/dynamic-mcp-executor.js.map +1 -0
  147. package/dist/server/port-utils.d.ts +14 -0
  148. package/dist/server/port-utils.d.ts.map +1 -0
  149. package/dist/server/port-utils.js +31 -0
  150. package/dist/server/port-utils.js.map +1 -0
  151. package/dist/server/server-utils.d.ts +13 -0
  152. package/dist/server/server-utils.d.ts.map +1 -0
  153. package/dist/server/server-utils.js +72 -0
  154. package/dist/server/server-utils.js.map +1 -0
  155. package/dist/{web → server}/server.d.ts +1 -0
  156. package/dist/server/server.d.ts.map +1 -0
  157. package/dist/server/server.js +535 -0
  158. package/dist/server/server.js.map +1 -0
  159. package/dist/server/tool-executer.d.ts +101 -0
  160. package/dist/server/tool-executer.d.ts.map +1 -0
  161. package/dist/server/tool-executer.js +6198 -0
  162. package/dist/server/tool-executer.js.map +1 -0
  163. package/dist/types/index.d.ts +1197 -4
  164. package/dist/types/index.d.ts.map +1 -1
  165. package/dist/types/index.js +1028 -0
  166. package/dist/types/index.js.map +1 -1
  167. package/dist/upload/upload-utils.d.ts +4 -0
  168. package/dist/upload/upload-utils.d.ts.map +1 -0
  169. package/dist/upload/upload-utils.js +29 -0
  170. package/dist/upload/upload-utils.js.map +1 -0
  171. package/dist/utils/deployment-util.d.ts +14 -0
  172. package/dist/utils/deployment-util.d.ts.map +1 -0
  173. package/dist/utils/deployment-util.js +46 -0
  174. package/dist/utils/deployment-util.js.map +1 -0
  175. package/dist/utils/logger.d.ts +15 -0
  176. package/dist/utils/logger.d.ts.map +1 -0
  177. package/dist/utils/logger.js +56 -0
  178. package/dist/utils/logger.js.map +1 -0
  179. package/package.json +18 -6
  180. package/quickmcp-direct-stdio.js +183 -187
  181. package/src/web/public/app.js +15370 -1471
  182. package/src/web/public/authorization.html +868 -0
  183. package/src/web/public/database-tables.html +283 -547
  184. package/src/web/public/how-to-use.html +446 -462
  185. package/src/web/public/how-to-use.js +4 -4
  186. package/src/web/public/images/app/activepieces.png +0 -0
  187. package/src/web/public/images/app/airtable.png +0 -0
  188. package/src/web/public/images/app/androidstudio.png +0 -0
  189. package/src/web/public/images/app/antigravity.png +0 -0
  190. package/src/web/public/images/app/applenotes.png +0 -0
  191. package/src/web/public/images/app/applereminders.png +0 -0
  192. package/src/web/public/images/app/asana.png +0 -0
  193. package/src/web/public/images/app/azureai.png +0 -0
  194. package/src/web/public/images/app/bash.png +0 -0
  195. package/src/web/public/images/app/bearnotes.png +0 -0
  196. package/src/web/public/images/app/bitbucket.png +0 -0
  197. package/src/web/public/images/app/claude.png +0 -0
  198. package/src/web/public/images/app/cli.png +0 -0
  199. package/src/web/public/images/app/clickup.png +0 -0
  200. package/src/web/public/images/app/cohere.png +0 -0
  201. package/src/web/public/images/app/confluence.png +0 -0
  202. package/src/web/public/images/app/confluence2.png +0 -0
  203. package/src/web/public/images/app/curl.png +0 -0
  204. package/src/web/public/images/app/curl_mini.png +0 -0
  205. package/src/web/public/images/app/cursor.png +0 -0
  206. package/src/web/public/images/app/db2.png +0 -0
  207. package/src/web/public/images/app/deepseek.png +0 -0
  208. package/src/web/public/images/app/discord.png +0 -0
  209. package/src/web/public/images/app/docker.png +0 -0
  210. package/src/web/public/images/app/dockerhub.png +0 -0
  211. package/src/web/public/images/app/dropbox.png +0 -0
  212. package/src/web/public/images/app/elasticsearch.png +0 -0
  213. package/src/web/public/images/app/facebook.png +0 -0
  214. package/src/web/public/images/app/falai.png +0 -0
  215. package/src/web/public/images/app/fireworks.png +0 -0
  216. package/src/web/public/images/app/gdrive.png +0 -0
  217. package/src/web/public/images/app/gemini.png +0 -0
  218. package/src/web/public/images/app/github.png +0 -0
  219. package/src/web/public/images/app/githubcopilot.png +0 -0
  220. package/src/web/public/images/app/gitlab.png +0 -0
  221. package/src/web/public/images/app/gmail.png +0 -0
  222. package/src/web/public/images/app/googlecalender.png +0 -0
  223. package/src/web/public/images/app/googledocs.png +0 -0
  224. package/src/web/public/images/app/googlesheets.png +0 -0
  225. package/src/web/public/images/app/gradle.png +0 -0
  226. package/src/web/public/images/app/grafana.png +0 -0
  227. package/src/web/public/images/app/graphql.png +0 -0
  228. package/src/web/public/images/app/grok.png +0 -0
  229. package/src/web/public/images/app/groq.png +0 -0
  230. package/src/web/public/images/app/hazelcast.png +0 -0
  231. package/src/web/public/images/app/huggingface.png +0 -0
  232. package/src/web/public/images/app/imessage.png +0 -0
  233. package/src/web/public/images/app/instagram.png +0 -0
  234. package/src/web/public/images/app/intellij.png +0 -0
  235. package/src/web/public/images/app/jenkins.png +0 -0
  236. package/src/web/public/images/app/jira.png +0 -0
  237. package/src/web/public/images/app/kafka.png +0 -0
  238. package/src/web/public/images/app/kubernetes.png +0 -0
  239. package/src/web/public/images/app/linear.png +0 -0
  240. package/src/web/public/images/app/linkedin.png +0 -0
  241. package/src/web/public/images/app/llama.png +0 -0
  242. package/src/web/public/images/app/make.png +0 -0
  243. package/src/web/public/images/app/maven.png +0 -0
  244. package/src/web/public/images/app/mcp.png +0 -0
  245. package/src/web/public/images/app/microsoftteams.png +0 -0
  246. package/src/web/public/images/app/mistral.png +0 -0
  247. package/src/web/public/images/app/monday.png +0 -0
  248. package/src/web/public/images/app/mongodb.png +0 -0
  249. package/src/web/public/images/app/mssql.png +0 -0
  250. package/src/web/public/images/app/mysql.png +0 -0
  251. package/src/web/public/images/app/n8n.png +0 -0
  252. package/src/web/public/images/app/notion.png +0 -0
  253. package/src/web/public/images/app/npm.png +0 -0
  254. package/src/web/public/images/app/nuget.png +0 -0
  255. package/src/web/public/images/app/obsidian.png +0 -0
  256. package/src/web/public/images/app/openai.png +0 -0
  257. package/src/web/public/images/app/openrouter.png +0 -0
  258. package/src/web/public/images/app/opensearch.png +0 -0
  259. package/src/web/public/images/app/openshift.png +0 -0
  260. package/src/web/public/images/app/oracle.png +0 -0
  261. package/src/web/public/images/app/perplexity.png +0 -0
  262. package/src/web/public/images/app/pipedream.png +0 -0
  263. package/src/web/public/images/app/postgresql.png +0 -0
  264. package/src/web/public/images/app/powershell.png +0 -0
  265. package/src/web/public/images/app/prometheus.png +0 -0
  266. package/src/web/public/images/app/reddit.png +0 -0
  267. package/src/web/public/images/app/redis.png +0 -0
  268. package/src/web/public/images/app/rss.png +0 -0
  269. package/src/web/public/images/app/signal.png +0 -0
  270. package/src/web/public/images/app/slack.png +0 -0
  271. package/src/web/public/images/app/soap.png +0 -0
  272. package/src/web/public/images/app/sqlite.png +0 -0
  273. package/src/web/public/images/app/supabase.png +0 -0
  274. package/src/web/public/images/app/telegram.png +0 -0
  275. package/src/web/public/images/app/things3.png +0 -0
  276. package/src/web/public/images/app/threads.png +0 -0
  277. package/src/web/public/images/app/tiktok.png +0 -0
  278. package/src/web/public/images/app/together.png +0 -0
  279. package/src/web/public/images/app/trello.png +0 -0
  280. package/src/web/public/images/app/vscode.png +0 -0
  281. package/src/web/public/images/app/webhook.png +0 -0
  282. package/src/web/public/images/app/webpage.png +0 -0
  283. package/src/web/public/images/app/whatsappbusiness.png +0 -0
  284. package/src/web/public/images/app/windsorf.png +0 -0
  285. package/src/web/public/images/app/x.png +0 -0
  286. package/src/web/public/images/app/youtube.png +0 -0
  287. package/src/web/public/images/app/zapier.png +0 -0
  288. package/src/web/public/images/app/zededitor.png +0 -0
  289. package/src/web/public/images/app/zoom.png +0 -0
  290. package/src/web/public/images/avatar-anon.svg +4 -0
  291. package/src/web/public/images/favicon.png +0 -0
  292. package/src/web/public/images/install/chatgpt-web/step0.png +0 -0
  293. package/src/web/public/images/install/chatgpt-web/step1.png +0 -0
  294. package/src/web/public/images/install/chatgpt-web/step2.png +0 -0
  295. package/src/web/public/images/install/chatgpt-web/step3.png +0 -0
  296. package/src/web/public/images/install/chatgpt-web/step4.png +0 -0
  297. package/src/web/public/images/install/chatgpt-web/step5.png +0 -0
  298. package/src/web/public/images/readme/1-generate-servers.png +0 -0
  299. package/src/web/public/images/readme/2-database-connection.png +0 -0
  300. package/src/web/public/images/readme/2-file-upload.png +0 -0
  301. package/src/web/public/images/readme/3-data-preview.png +0 -0
  302. package/src/web/public/images/readme/4-data-preview2.png +0 -0
  303. package/src/web/public/images/readme/5-server-configuration.png +0 -0
  304. package/src/web/public/images/readme/6-server-generated-modal.png +0 -0
  305. package/src/web/public/images/readme/7-generated-servers.png +0 -0
  306. package/src/web/public/images/readme/8-generated-servers-view-details.png +0 -0
  307. package/src/web/public/images/readme/Screenshot 2025-10-09 at 20.23.51.png +0 -0
  308. package/src/web/public/images/readme/Screenshot 2025-10-09 at 20.24.59.png +0 -0
  309. package/src/web/public/images/readme/Screenshot 2025-10-09 at 20.25.05.png +0 -0
  310. package/src/web/public/images/readme/Screenshot 2025-10-09 at 20.25.14.png +0 -0
  311. package/src/web/public/images/readme/Screenshot 2025-10-09 at 20.25.21.png +0 -0
  312. package/src/web/public/images/readme/Screenshot 2025-10-09 at 20.25.36.png +0 -0
  313. package/src/web/public/index.html +4685 -488
  314. package/src/web/public/landing.html +1638 -0
  315. package/src/web/public/logger.js +31 -0
  316. package/src/web/public/login.html +372 -0
  317. package/src/web/public/manage-servers.html +121 -188
  318. package/src/web/public/pricing.html +537 -0
  319. package/src/web/public/quick-ask.html +133 -0
  320. package/src/web/public/quickmcp-styles.css +708 -0
  321. package/src/web/public/roles.html +177 -0
  322. package/src/web/public/shared.js +736 -3
  323. package/src/web/public/sidebar.js +414 -0
  324. package/src/web/public/test-servers.html +605 -221
  325. package/src/web/public/users.html +191 -0
  326. package/dist/client/MCPClientUnified.d.ts +0 -31
  327. package/dist/client/MCPClientUnified.d.ts.map +0 -1
  328. package/dist/client/MCPClientUnified.js +0 -275
  329. package/dist/client/MCPClientUnified.js.map +0 -1
  330. package/dist/client/MCPTestRunnerUnified.d.ts +0 -48
  331. package/dist/client/MCPTestRunnerUnified.d.ts.map +0 -1
  332. package/dist/client/MCPTestRunnerUnified.js +0 -183
  333. package/dist/client/MCPTestRunnerUnified.js.map +0 -1
  334. package/dist/database/json-manager.d.ts +0 -55
  335. package/dist/database/json-manager.d.ts.map +0 -1
  336. package/dist/database/json-manager.js +0 -128
  337. package/dist/database/json-manager.js.map +0 -1
  338. package/dist/dynamic-mcp-executor.d.ts.map +0 -1
  339. package/dist/dynamic-mcp-executor.js +0 -274
  340. package/dist/dynamic-mcp-executor.js.map +0 -1
  341. package/dist/generators/MCPServerGenerator-new.d.ts +0 -37
  342. package/dist/generators/MCPServerGenerator-new.d.ts.map +0 -1
  343. package/dist/generators/MCPServerGenerator-new.js +0 -287
  344. package/dist/generators/MCPServerGenerator-new.js.map +0 -1
  345. package/dist/generators/database/sqlite-manager.d.ts +0 -52
  346. package/dist/generators/database/sqlite-manager.js +0 -143
  347. package/dist/generators/generators/MCPServerGenerator.d.ts +0 -37
  348. package/dist/generators/generators/MCPServerGenerator.js +0 -396
  349. package/dist/integrated-mcp-server.d.ts +0 -25
  350. package/dist/integrated-mcp-server.d.ts.map +0 -1
  351. package/dist/integrated-mcp-server.js +0 -541
  352. package/dist/integrated-mcp-server.js.map +0 -1
  353. package/dist/mcp-inspector-server.d.ts +0 -3
  354. package/dist/mcp-inspector-server.d.ts.map +0 -1
  355. package/dist/mcp-inspector-server.js +0 -119
  356. package/dist/mcp-inspector-server.js.map +0 -1
  357. package/dist/mcp-sdk-server.d.ts +0 -3
  358. package/dist/mcp-sdk-server.d.ts.map +0 -1
  359. package/dist/mcp-sdk-server.js +0 -90
  360. package/dist/mcp-sdk-server.js.map +0 -1
  361. package/dist/mcp-server.d.ts +0 -3
  362. package/dist/mcp-server.d.ts.map +0 -1
  363. package/dist/mcp-server.js +0 -300
  364. package/dist/mcp-server.js.map +0 -1
  365. package/dist/parsers/parsers/ExcelParser.js +0 -118
  366. package/dist/quickmcp-unified-bridge.d.ts +0 -13
  367. package/dist/quickmcp-unified-bridge.d.ts.map +0 -1
  368. package/dist/quickmcp-unified-bridge.js +0 -176
  369. package/dist/quickmcp-unified-bridge.js.map +0 -1
  370. package/dist/sqlite-manager.js +0 -145
  371. package/dist/test-app.d.ts +0 -2
  372. package/dist/test-app.d.ts.map +0 -1
  373. package/dist/test-app.js +0 -119
  374. package/dist/test-app.js.map +0 -1
  375. package/dist/transport/base-transport.d.ts +0 -21
  376. package/dist/transport/base-transport.d.ts.map +0 -1
  377. package/dist/transport/base-transport.js +0 -16
  378. package/dist/transport/base-transport.js.map +0 -1
  379. package/dist/transport/index.d.ts +0 -10
  380. package/dist/transport/index.d.ts.map +0 -1
  381. package/dist/transport/index.js +0 -12
  382. package/dist/transport/index.js.map +0 -1
  383. package/dist/transport/sse-transport.d.ts +0 -13
  384. package/dist/transport/sse-transport.d.ts.map +0 -1
  385. package/dist/transport/sse-transport.js +0 -106
  386. package/dist/transport/sse-transport.js.map +0 -1
  387. package/dist/transport/stdio-transport.d.ts +0 -8
  388. package/dist/transport/stdio-transport.d.ts.map +0 -1
  389. package/dist/transport/stdio-transport.js +0 -53
  390. package/dist/transport/stdio-transport.js.map +0 -1
  391. package/dist/transport/streamable-http-transport.d.ts +0 -15
  392. package/dist/transport/streamable-http-transport.d.ts.map +0 -1
  393. package/dist/transport/streamable-http-transport.js +0 -151
  394. package/dist/transport/streamable-http-transport.js.map +0 -1
  395. package/dist/web/client/MCPClient.js +0 -348
  396. package/dist/web/client/MCPTestRunner.js +0 -317
  397. package/dist/web/database/json-manager.js +0 -124
  398. package/dist/web/database/sqlite-manager.js +0 -146
  399. package/dist/web/dynamic-mcp-executor.js +0 -443
  400. package/dist/web/generators/MCPServerGenerator-new.js +0 -284
  401. package/dist/web/generators/MCPServerGenerator.js +0 -566
  402. package/dist/web/integrated-mcp-server-new.js +0 -394
  403. package/dist/web/parsers/CsvParser.js +0 -144
  404. package/dist/web/parsers/DatabaseParser.js +0 -637
  405. package/dist/web/parsers/ExcelParser.js +0 -180
  406. package/dist/web/parsers/index.js +0 -152
  407. package/dist/web/server.d.ts.map +0 -1
  408. package/dist/web/server.js +0 -790
  409. package/dist/web/server.js.map +0 -1
  410. package/dist/web/types/index.js +0 -2
  411. package/dist/web/web/server.js +0 -860
  412. package/src/web/public/modern-styles.css +0 -946
  413. package/src/web/public/shared-styles.css +0 -2091
  414. /package/src/web/public/images/{1-claude-quickmcp-stdio.png → readme/1-claude-quickmcp-stdio.png} +0 -0
  415. /package/src/web/public/images/{2-claude-tools.png → readme/2-claude-tools.png} +0 -0
  416. /package/src/web/public/images/{3-claude-developer-settings.png → readme/3-claude-developer-settings.png} +0 -0
  417. /package/src/web/public/images/{4-claude-config.png → readme/4-claude-config.png} +0 -0
  418. /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
+ })();