@mtkn/mega-agent 0.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 (295) hide show
  1. package/dist/artifact/artifact.repository.d.ts +17 -0
  2. package/dist/artifact/artifact.repository.d.ts.map +1 -0
  3. package/dist/artifact/artifact.repository.js +66 -0
  4. package/dist/artifact/artifact.repository.js.map +1 -0
  5. package/dist/artifact/artifact.service.d.ts +22 -0
  6. package/dist/artifact/artifact.service.d.ts.map +1 -0
  7. package/dist/artifact/artifact.service.js +87 -0
  8. package/dist/artifact/artifact.service.js.map +1 -0
  9. package/dist/artifact/artifact.types.d.ts +41 -0
  10. package/dist/artifact/artifact.types.d.ts.map +1 -0
  11. package/dist/artifact/artifact.types.js +6 -0
  12. package/dist/artifact/artifact.types.js.map +1 -0
  13. package/dist/artifact/index.d.ts +6 -0
  14. package/dist/artifact/index.d.ts.map +1 -0
  15. package/dist/artifact/index.js +4 -0
  16. package/dist/artifact/index.js.map +1 -0
  17. package/dist/chat/chat-memory.integration.d.ts +59 -0
  18. package/dist/chat/chat-memory.integration.d.ts.map +1 -0
  19. package/dist/chat/chat-memory.integration.js +148 -0
  20. package/dist/chat/chat-memory.integration.js.map +1 -0
  21. package/dist/chat/chat.repository.d.ts +58 -0
  22. package/dist/chat/chat.repository.d.ts.map +1 -0
  23. package/dist/chat/chat.repository.js +128 -0
  24. package/dist/chat/chat.repository.js.map +1 -0
  25. package/dist/chat/chat.service.d.ts +28 -0
  26. package/dist/chat/chat.service.d.ts.map +1 -0
  27. package/dist/chat/chat.service.js +217 -0
  28. package/dist/chat/chat.service.js.map +1 -0
  29. package/dist/chat/chat.types.d.ts +198 -0
  30. package/dist/chat/chat.types.d.ts.map +1 -0
  31. package/dist/chat/chat.types.js +8 -0
  32. package/dist/chat/chat.types.js.map +1 -0
  33. package/dist/chat/index.d.ts +17 -0
  34. package/dist/chat/index.d.ts.map +1 -0
  35. package/dist/chat/index.js +16 -0
  36. package/dist/chat/index.js.map +1 -0
  37. package/dist/chat/memory-detector.d.ts +53 -0
  38. package/dist/chat/memory-detector.d.ts.map +1 -0
  39. package/dist/chat/memory-detector.js +172 -0
  40. package/dist/chat/memory-detector.js.map +1 -0
  41. package/dist/chat/prompts/index.d.ts +6 -0
  42. package/dist/chat/prompts/index.d.ts.map +1 -0
  43. package/dist/chat/prompts/index.js +6 -0
  44. package/dist/chat/prompts/index.js.map +1 -0
  45. package/dist/chat/prompts/system.prompts.d.ts +23 -0
  46. package/dist/chat/prompts/system.prompts.d.ts.map +1 -0
  47. package/dist/chat/prompts/system.prompts.js +102 -0
  48. package/dist/chat/prompts/system.prompts.js.map +1 -0
  49. package/dist/chat/response-parser.d.ts +24 -0
  50. package/dist/chat/response-parser.d.ts.map +1 -0
  51. package/dist/chat/response-parser.js +198 -0
  52. package/dist/chat/response-parser.js.map +1 -0
  53. package/dist/chat/response.types.d.ts +90 -0
  54. package/dist/chat/response.types.d.ts.map +1 -0
  55. package/dist/chat/response.types.js +6 -0
  56. package/dist/chat/response.types.js.map +1 -0
  57. package/dist/common/errors.d.ts +60 -0
  58. package/dist/common/errors.d.ts.map +1 -0
  59. package/dist/common/errors.js +105 -0
  60. package/dist/common/errors.js.map +1 -0
  61. package/dist/common/index.d.ts +3 -0
  62. package/dist/common/index.d.ts.map +1 -0
  63. package/dist/common/index.js +3 -0
  64. package/dist/common/index.js.map +1 -0
  65. package/dist/common/retry.d.ts +23 -0
  66. package/dist/common/retry.d.ts.map +1 -0
  67. package/dist/common/retry.js +57 -0
  68. package/dist/common/retry.js.map +1 -0
  69. package/dist/create-mega-agent.d.ts +100 -0
  70. package/dist/create-mega-agent.d.ts.map +1 -0
  71. package/dist/create-mega-agent.js +153 -0
  72. package/dist/create-mega-agent.js.map +1 -0
  73. package/dist/embedding/embedding.service.d.ts +34 -0
  74. package/dist/embedding/embedding.service.d.ts.map +1 -0
  75. package/dist/embedding/embedding.service.js +68 -0
  76. package/dist/embedding/embedding.service.js.map +1 -0
  77. package/dist/embedding/embedding.types.d.ts +38 -0
  78. package/dist/embedding/embedding.types.d.ts.map +1 -0
  79. package/dist/embedding/embedding.types.js +6 -0
  80. package/dist/embedding/embedding.types.js.map +1 -0
  81. package/dist/embedding/index.d.ts +9 -0
  82. package/dist/embedding/index.d.ts.map +1 -0
  83. package/dist/embedding/index.js +9 -0
  84. package/dist/embedding/index.js.map +1 -0
  85. package/dist/embedding/providers/base.provider.d.ts +29 -0
  86. package/dist/embedding/providers/base.provider.d.ts.map +1 -0
  87. package/dist/embedding/providers/base.provider.js +19 -0
  88. package/dist/embedding/providers/base.provider.js.map +1 -0
  89. package/dist/embedding/providers/index.d.ts +7 -0
  90. package/dist/embedding/providers/index.d.ts.map +1 -0
  91. package/dist/embedding/providers/index.js +7 -0
  92. package/dist/embedding/providers/index.js.map +1 -0
  93. package/dist/embedding/providers/openai.provider.d.ts +17 -0
  94. package/dist/embedding/providers/openai.provider.d.ts.map +1 -0
  95. package/dist/embedding/providers/openai.provider.js +73 -0
  96. package/dist/embedding/providers/openai.provider.js.map +1 -0
  97. package/dist/http/chat.controller.d.ts +30 -0
  98. package/dist/http/chat.controller.d.ts.map +1 -0
  99. package/dist/http/chat.controller.js +163 -0
  100. package/dist/http/chat.controller.js.map +1 -0
  101. package/dist/http/chat.routes.d.ts +5 -0
  102. package/dist/http/chat.routes.d.ts.map +1 -0
  103. package/dist/http/chat.routes.js +38 -0
  104. package/dist/http/chat.routes.js.map +1 -0
  105. package/dist/http/chat.validation.d.ts +70 -0
  106. package/dist/http/chat.validation.d.ts.map +1 -0
  107. package/dist/http/chat.validation.js +28 -0
  108. package/dist/http/chat.validation.js.map +1 -0
  109. package/dist/incident/incident.correlator.d.ts +39 -0
  110. package/dist/incident/incident.correlator.d.ts.map +1 -0
  111. package/dist/incident/incident.correlator.js +129 -0
  112. package/dist/incident/incident.correlator.js.map +1 -0
  113. package/dist/incident/incident.detector.d.ts +62 -0
  114. package/dist/incident/incident.detector.d.ts.map +1 -0
  115. package/dist/incident/incident.detector.js +192 -0
  116. package/dist/incident/incident.detector.js.map +1 -0
  117. package/dist/incident/incident.repository.d.ts +79 -0
  118. package/dist/incident/incident.repository.d.ts.map +1 -0
  119. package/dist/incident/incident.repository.js +216 -0
  120. package/dist/incident/incident.repository.js.map +1 -0
  121. package/dist/incident/incident.service.d.ts +71 -0
  122. package/dist/incident/incident.service.d.ts.map +1 -0
  123. package/dist/incident/incident.service.js +217 -0
  124. package/dist/incident/incident.service.js.map +1 -0
  125. package/dist/incident/incident.types.d.ts +115 -0
  126. package/dist/incident/incident.types.d.ts.map +1 -0
  127. package/dist/incident/incident.types.js +6 -0
  128. package/dist/incident/incident.types.js.map +1 -0
  129. package/dist/incident/index.d.ts +13 -0
  130. package/dist/incident/index.d.ts.map +1 -0
  131. package/dist/incident/index.js +13 -0
  132. package/dist/incident/index.js.map +1 -0
  133. package/dist/index.d.ts +26 -0
  134. package/dist/index.d.ts.map +1 -0
  135. package/dist/index.js +26 -0
  136. package/dist/index.js.map +1 -0
  137. package/dist/llm/index.d.ts +8 -0
  138. package/dist/llm/index.d.ts.map +1 -0
  139. package/dist/llm/index.js +9 -0
  140. package/dist/llm/index.js.map +1 -0
  141. package/dist/llm/llm.service.d.ts +52 -0
  142. package/dist/llm/llm.service.d.ts.map +1 -0
  143. package/dist/llm/llm.service.js +141 -0
  144. package/dist/llm/llm.service.js.map +1 -0
  145. package/dist/llm/llm.types.d.ts +77 -0
  146. package/dist/llm/llm.types.d.ts.map +1 -0
  147. package/dist/llm/llm.types.js +5 -0
  148. package/dist/llm/llm.types.js.map +1 -0
  149. package/dist/llm/providers/anthropic.provider.d.ts +16 -0
  150. package/dist/llm/providers/anthropic.provider.d.ts.map +1 -0
  151. package/dist/llm/providers/anthropic.provider.js +118 -0
  152. package/dist/llm/providers/anthropic.provider.js.map +1 -0
  153. package/dist/llm/providers/base.provider.d.ts +17 -0
  154. package/dist/llm/providers/base.provider.d.ts.map +1 -0
  155. package/dist/llm/providers/base.provider.js +18 -0
  156. package/dist/llm/providers/base.provider.js.map +1 -0
  157. package/dist/llm/providers/custom.provider.d.ts +15 -0
  158. package/dist/llm/providers/custom.provider.d.ts.map +1 -0
  159. package/dist/llm/providers/custom.provider.js +110 -0
  160. package/dist/llm/providers/custom.provider.js.map +1 -0
  161. package/dist/llm/providers/gemini.provider.d.ts +19 -0
  162. package/dist/llm/providers/gemini.provider.d.ts.map +1 -0
  163. package/dist/llm/providers/gemini.provider.js +98 -0
  164. package/dist/llm/providers/gemini.provider.js.map +1 -0
  165. package/dist/llm/providers/index.d.ts +10 -0
  166. package/dist/llm/providers/index.d.ts.map +1 -0
  167. package/dist/llm/providers/index.js +10 -0
  168. package/dist/llm/providers/index.js.map +1 -0
  169. package/dist/llm/providers/openai.provider.d.ts +15 -0
  170. package/dist/llm/providers/openai.provider.d.ts.map +1 -0
  171. package/dist/llm/providers/openai.provider.js +57 -0
  172. package/dist/llm/providers/openai.provider.js.map +1 -0
  173. package/dist/mcp/index.d.ts +13 -0
  174. package/dist/mcp/index.d.ts.map +1 -0
  175. package/dist/mcp/index.js +17 -0
  176. package/dist/mcp/index.js.map +1 -0
  177. package/dist/mcp/mcp.client.d.ts +57 -0
  178. package/dist/mcp/mcp.client.d.ts.map +1 -0
  179. package/dist/mcp/mcp.client.js +150 -0
  180. package/dist/mcp/mcp.client.js.map +1 -0
  181. package/dist/mcp/mcp.service.d.ts +64 -0
  182. package/dist/mcp/mcp.service.d.ts.map +1 -0
  183. package/dist/mcp/mcp.service.js +207 -0
  184. package/dist/mcp/mcp.service.js.map +1 -0
  185. package/dist/mcp/mcp.types.d.ts +142 -0
  186. package/dist/mcp/mcp.types.d.ts.map +1 -0
  187. package/dist/mcp/mcp.types.js +6 -0
  188. package/dist/mcp/mcp.types.js.map +1 -0
  189. package/dist/mcp/presets/common-sources.d.ts +28 -0
  190. package/dist/mcp/presets/common-sources.d.ts.map +1 -0
  191. package/dist/mcp/presets/common-sources.js +114 -0
  192. package/dist/mcp/presets/common-sources.js.map +1 -0
  193. package/dist/mcp/presets/index.d.ts +5 -0
  194. package/dist/mcp/presets/index.d.ts.map +1 -0
  195. package/dist/mcp/presets/index.js +5 -0
  196. package/dist/mcp/presets/index.js.map +1 -0
  197. package/dist/mcp/source.repository.d.ts +68 -0
  198. package/dist/mcp/source.repository.d.ts.map +1 -0
  199. package/dist/mcp/source.repository.js +114 -0
  200. package/dist/mcp/source.repository.js.map +1 -0
  201. package/dist/mcp/source.service.d.ts +74 -0
  202. package/dist/mcp/source.service.d.ts.map +1 -0
  203. package/dist/mcp/source.service.js +181 -0
  204. package/dist/mcp/source.service.js.map +1 -0
  205. package/dist/mcp/transports/http.transport.d.ts +45 -0
  206. package/dist/mcp/transports/http.transport.d.ts.map +1 -0
  207. package/dist/mcp/transports/http.transport.js +64 -0
  208. package/dist/mcp/transports/http.transport.js.map +1 -0
  209. package/dist/mcp/transports/index.d.ts +7 -0
  210. package/dist/mcp/transports/index.d.ts.map +1 -0
  211. package/dist/mcp/transports/index.js +7 -0
  212. package/dist/mcp/transports/index.js.map +1 -0
  213. package/dist/mcp/transports/stdio.transport.d.ts +21 -0
  214. package/dist/mcp/transports/stdio.transport.d.ts.map +1 -0
  215. package/dist/mcp/transports/stdio.transport.js +29 -0
  216. package/dist/mcp/transports/stdio.transport.js.map +1 -0
  217. package/dist/memory/index.d.ts +10 -0
  218. package/dist/memory/index.d.ts.map +1 -0
  219. package/dist/memory/index.js +10 -0
  220. package/dist/memory/index.js.map +1 -0
  221. package/dist/memory/memory.repository.d.ts +62 -0
  222. package/dist/memory/memory.repository.d.ts.map +1 -0
  223. package/dist/memory/memory.repository.js +148 -0
  224. package/dist/memory/memory.repository.js.map +1 -0
  225. package/dist/memory/memory.service.d.ts +63 -0
  226. package/dist/memory/memory.service.d.ts.map +1 -0
  227. package/dist/memory/memory.service.js +263 -0
  228. package/dist/memory/memory.service.js.map +1 -0
  229. package/dist/memory/memory.types.d.ts +104 -0
  230. package/dist/memory/memory.types.d.ts.map +1 -0
  231. package/dist/memory/memory.types.js +8 -0
  232. package/dist/memory/memory.types.js.map +1 -0
  233. package/dist/qdrant/index.d.ts +8 -0
  234. package/dist/qdrant/index.d.ts.map +1 -0
  235. package/dist/qdrant/index.js +6 -0
  236. package/dist/qdrant/index.js.map +1 -0
  237. package/dist/qdrant/qdrant.service.d.ts +63 -0
  238. package/dist/qdrant/qdrant.service.d.ts.map +1 -0
  239. package/dist/qdrant/qdrant.service.js +201 -0
  240. package/dist/qdrant/qdrant.service.js.map +1 -0
  241. package/dist/qdrant/qdrant.types.d.ts +55 -0
  242. package/dist/qdrant/qdrant.types.d.ts.map +1 -0
  243. package/dist/qdrant/qdrant.types.js +6 -0
  244. package/dist/qdrant/qdrant.types.js.map +1 -0
  245. package/dist/tools/core-tools.d.ts +7 -0
  246. package/dist/tools/core-tools.d.ts.map +1 -0
  247. package/dist/tools/core-tools.js +52 -0
  248. package/dist/tools/core-tools.js.map +1 -0
  249. package/dist/tools/index.d.ts +4 -0
  250. package/dist/tools/index.d.ts.map +1 -0
  251. package/dist/tools/index.js +3 -0
  252. package/dist/tools/index.js.map +1 -0
  253. package/dist/tools/tool-registry.d.ts +51 -0
  254. package/dist/tools/tool-registry.d.ts.map +1 -0
  255. package/dist/tools/tool-registry.js +50 -0
  256. package/dist/tools/tool-registry.js.map +1 -0
  257. package/dist/workflow/actions/base.action.d.ts +50 -0
  258. package/dist/workflow/actions/base.action.d.ts.map +1 -0
  259. package/dist/workflow/actions/base.action.js +59 -0
  260. package/dist/workflow/actions/base.action.js.map +1 -0
  261. package/dist/workflow/actions/incident.action.d.ts +13 -0
  262. package/dist/workflow/actions/incident.action.d.ts.map +1 -0
  263. package/dist/workflow/actions/incident.action.js +70 -0
  264. package/dist/workflow/actions/incident.action.js.map +1 -0
  265. package/dist/workflow/actions/index.d.ts +9 -0
  266. package/dist/workflow/actions/index.d.ts.map +1 -0
  267. package/dist/workflow/actions/index.js +11 -0
  268. package/dist/workflow/actions/index.js.map +1 -0
  269. package/dist/workflow/actions/notify.action.d.ts +18 -0
  270. package/dist/workflow/actions/notify.action.d.ts.map +1 -0
  271. package/dist/workflow/actions/notify.action.js +106 -0
  272. package/dist/workflow/actions/notify.action.js.map +1 -0
  273. package/dist/workflow/actions/report.action.d.ts +13 -0
  274. package/dist/workflow/actions/report.action.d.ts.map +1 -0
  275. package/dist/workflow/actions/report.action.js +64 -0
  276. package/dist/workflow/actions/report.action.js.map +1 -0
  277. package/dist/workflow/index.d.ts +10 -0
  278. package/dist/workflow/index.d.ts.map +1 -0
  279. package/dist/workflow/index.js +11 -0
  280. package/dist/workflow/index.js.map +1 -0
  281. package/dist/workflow/workflow.repository.d.ts +90 -0
  282. package/dist/workflow/workflow.repository.d.ts.map +1 -0
  283. package/dist/workflow/workflow.repository.js +238 -0
  284. package/dist/workflow/workflow.repository.js.map +1 -0
  285. package/dist/workflow/workflow.service.d.ts +98 -0
  286. package/dist/workflow/workflow.service.d.ts.map +1 -0
  287. package/dist/workflow/workflow.service.js +374 -0
  288. package/dist/workflow/workflow.service.js.map +1 -0
  289. package/dist/workflow/workflow.types.d.ts +146 -0
  290. package/dist/workflow/workflow.types.d.ts.map +1 -0
  291. package/dist/workflow/workflow.types.js +8 -0
  292. package/dist/workflow/workflow.types.js.map +1 -0
  293. package/package.json +67 -0
  294. package/prisma/schema.prisma +551 -0
  295. package/scripts/prisma-sync.mjs +187 -0
@@ -0,0 +1,64 @@
1
+ /**
2
+ * MCP Service
3
+ * Main service for managing MCP server connections and operations
4
+ */
5
+ import type { McpServerConfig, McpServerState, McpTransport, McpTool, McpResource, McpToolCallResult, McpResourceReadResult, McpServiceDependencies, McpServiceLike } from './mcp.types.js';
6
+ /**
7
+ * Initialize the MCP service with dependencies
8
+ */
9
+ export declare function initMcpService(deps: McpServiceDependencies): void;
10
+ /**
11
+ * Get the current service dependencies
12
+ */
13
+ export declare function getMcpServiceDeps(): McpServiceDependencies | null;
14
+ export declare class McpService implements McpServiceLike {
15
+ private clients;
16
+ private servers;
17
+ constructor();
18
+ private get logger();
19
+ /**
20
+ * Connect to an MCP server
21
+ */
22
+ connectServer(id: string, name: string, transport: McpTransport, config: McpServerConfig): Promise<McpServerState>;
23
+ /**
24
+ * Disconnect from an MCP server
25
+ */
26
+ disconnectServer(id: string): Promise<void>;
27
+ /**
28
+ * Get server state by ID
29
+ */
30
+ getServer(id: string): McpServerState | undefined;
31
+ /**
32
+ * Get all registered servers
33
+ */
34
+ getServers(): McpServerState[];
35
+ /**
36
+ * Get all connected servers
37
+ */
38
+ getConnectedServers(): McpServerState[];
39
+ /**
40
+ * List all available tools from all connected servers
41
+ */
42
+ listAllTools(): Promise<McpTool[]>;
43
+ /**
44
+ * List all available resources from all connected servers
45
+ */
46
+ listAllResources(): Promise<McpResource[]>;
47
+ /**
48
+ * Call a tool on a specific server
49
+ */
50
+ callTool(serverId: string, toolName: string, args: Record<string, unknown>): Promise<McpToolCallResult>;
51
+ /**
52
+ * Read a resource from a specific server
53
+ */
54
+ readResource(serverId: string, uri: string): Promise<McpResourceReadResult>;
55
+ /**
56
+ * Get tool by name (searches all servers)
57
+ */
58
+ getTool(toolName: string): Promise<McpTool | undefined>;
59
+ /**
60
+ * Build tools description for LLM system prompt
61
+ */
62
+ buildToolsPrompt(): Promise<string>;
63
+ }
64
+ //# sourceMappingURL=mcp.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.service.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACf,MAAM,gBAAgB,CAAC;AAKxB;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,sBAAsB,GAAG,IAAI,CAEjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,sBAAsB,GAAG,IAAI,CAEjE;AAED,qBAAa,UAAW,YAAW,cAAc;IAC/C,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,OAAO,CAA0C;;IASzD,OAAO,KAAK,MAAM,GAEjB;IAED;;OAEG;IACG,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,cAAc,CAAC;IAoD1B;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjD;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIjD;;OAEG;IACH,UAAU,IAAI,cAAc,EAAE;IAI9B;;OAEG;IACH,mBAAmB,IAAI,cAAc,EAAE;IAMvC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAiBxC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAoBhD;;OAEG;IACG,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,iBAAiB,CAAC;IAS7B;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IASjF;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAK7D;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;CA2B1C"}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * MCP Service
3
+ * Main service for managing MCP server connections and operations
4
+ */
5
+ import { McpClient } from './mcp.client.js';
6
+ let _deps = null;
7
+ /**
8
+ * Initialize the MCP service with dependencies
9
+ */
10
+ export function initMcpService(deps) {
11
+ _deps = deps;
12
+ }
13
+ /**
14
+ * Get the current service dependencies
15
+ */
16
+ export function getMcpServiceDeps() {
17
+ return _deps;
18
+ }
19
+ export class McpService {
20
+ clients = new Map();
21
+ servers = new Map();
22
+ constructor() {
23
+ if (!_deps) {
24
+ throw new Error('[McpService] Service not initialized! Call initMcpService first.');
25
+ }
26
+ _deps.logger.info('McpService initialized');
27
+ }
28
+ get logger() {
29
+ return _deps.logger;
30
+ }
31
+ /**
32
+ * Connect to an MCP server
33
+ */
34
+ async connectServer(id, name, transport, config) {
35
+ // Set connecting state
36
+ this.servers.set(id, {
37
+ id,
38
+ name,
39
+ status: 'connecting',
40
+ transport,
41
+ config,
42
+ });
43
+ const client = new McpClient(id, this.logger);
44
+ try {
45
+ if (transport === 'stdio') {
46
+ await client.connectStdio(config);
47
+ }
48
+ else {
49
+ throw new Error(`Transport '${transport}' not yet implemented`);
50
+ }
51
+ const server = {
52
+ id,
53
+ name,
54
+ transport,
55
+ config,
56
+ status: 'connected',
57
+ lastConnected: new Date(),
58
+ };
59
+ this.clients.set(id, client);
60
+ this.servers.set(id, server);
61
+ this.logger.info('MCP server connected', { id, name });
62
+ return server;
63
+ }
64
+ catch (error) {
65
+ const server = {
66
+ id,
67
+ name,
68
+ transport,
69
+ config,
70
+ status: 'error',
71
+ error: String(error),
72
+ };
73
+ this.servers.set(id, server);
74
+ this.logger.error('Failed to connect MCP server', { id, error: String(error) });
75
+ return server;
76
+ }
77
+ }
78
+ /**
79
+ * Disconnect from an MCP server
80
+ */
81
+ async disconnectServer(id) {
82
+ const client = this.clients.get(id);
83
+ if (client) {
84
+ await client.disconnect();
85
+ this.clients.delete(id);
86
+ }
87
+ const server = this.servers.get(id);
88
+ if (server) {
89
+ this.servers.set(id, {
90
+ ...server,
91
+ status: 'disconnected',
92
+ });
93
+ }
94
+ this.logger.info('MCP server disconnected', { id });
95
+ }
96
+ /**
97
+ * Get server state by ID
98
+ */
99
+ getServer(id) {
100
+ return this.servers.get(id);
101
+ }
102
+ /**
103
+ * Get all registered servers
104
+ */
105
+ getServers() {
106
+ return Array.from(this.servers.values());
107
+ }
108
+ /**
109
+ * Get all connected servers
110
+ */
111
+ getConnectedServers() {
112
+ return Array.from(this.servers.values()).filter(s => s.status === 'connected');
113
+ }
114
+ /**
115
+ * List all available tools from all connected servers
116
+ */
117
+ async listAllTools() {
118
+ const allTools = [];
119
+ for (const [id, client] of this.clients) {
120
+ if (client.isConnected()) {
121
+ try {
122
+ const tools = await client.listTools();
123
+ allTools.push(...tools);
124
+ }
125
+ catch (error) {
126
+ this.logger.error('Failed to list tools', { serverId: id, error: String(error) });
127
+ }
128
+ }
129
+ }
130
+ return allTools;
131
+ }
132
+ /**
133
+ * List all available resources from all connected servers
134
+ */
135
+ async listAllResources() {
136
+ const allResources = [];
137
+ for (const [id, client] of this.clients) {
138
+ if (client.isConnected()) {
139
+ try {
140
+ const resources = await client.listResources();
141
+ allResources.push(...resources);
142
+ }
143
+ catch (error) {
144
+ this.logger.error('Failed to list resources', {
145
+ serverId: id,
146
+ error: String(error),
147
+ });
148
+ }
149
+ }
150
+ }
151
+ return allResources;
152
+ }
153
+ /**
154
+ * Call a tool on a specific server
155
+ */
156
+ async callTool(serverId, toolName, args) {
157
+ const client = this.clients.get(serverId);
158
+ if (!client || !client.isConnected()) {
159
+ throw new Error(`MCP server not connected: ${serverId}`);
160
+ }
161
+ return client.callTool(toolName, args);
162
+ }
163
+ /**
164
+ * Read a resource from a specific server
165
+ */
166
+ async readResource(serverId, uri) {
167
+ const client = this.clients.get(serverId);
168
+ if (!client || !client.isConnected()) {
169
+ throw new Error(`MCP server not connected: ${serverId}`);
170
+ }
171
+ return client.readResource(uri);
172
+ }
173
+ /**
174
+ * Get tool by name (searches all servers)
175
+ */
176
+ async getTool(toolName) {
177
+ const allTools = await this.listAllTools();
178
+ return allTools.find(t => t.name === toolName);
179
+ }
180
+ /**
181
+ * Build tools description for LLM system prompt
182
+ */
183
+ async buildToolsPrompt() {
184
+ const tools = await this.listAllTools();
185
+ if (tools.length === 0) {
186
+ return '';
187
+ }
188
+ const toolDescriptions = tools.map(tool => {
189
+ const params = tool.inputSchema.properties
190
+ ? Object.entries(tool.inputSchema.properties)
191
+ .map(([key, schema]) => {
192
+ const desc = schema.description || schema.type;
193
+ return ` - ${key}: ${desc}`;
194
+ })
195
+ .join('\n')
196
+ : ' (no parameters)';
197
+ return `### ${tool.name}\n${tool.description}\nParameters:\n${params}`;
198
+ });
199
+ return `## Available Tools
200
+
201
+ You have access to the following tools. To use a tool, respond with a tool call in the format:
202
+ <tool_call>{"name": "tool_name", "arguments": {...}}</tool_call>
203
+
204
+ ${toolDescriptions.join('\n\n')}`;
205
+ }
206
+ }
207
+ //# sourceMappingURL=mcp.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.service.js","sourceRoot":"","sources":["../../src/mcp/mcp.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,IAAI,KAAK,GAAkC,IAAI,CAAC;AAEhD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAA4B;IACzD,KAAK,GAAG,IAAI,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,UAAU;IACb,OAAO,GAA2B,IAAI,GAAG,EAAE,CAAC;IAC5C,OAAO,GAAgC,IAAI,GAAG,EAAE,CAAC;IAEzD;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAED,IAAY,MAAM;QAChB,OAAO,KAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,EAAU,EACV,IAAY,EACZ,SAAuB,EACvB,MAAuB;QAEvB,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;YACnB,EAAE;YACF,IAAI;YACJ,MAAM,EAAE,YAAY;YACpB,SAAS;YACT,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC1B,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,cAAc,SAAS,uBAAuB,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,MAAM,GAAmB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,SAAS;gBACT,MAAM;gBACN,MAAM,EAAE,WAAW;gBACnB,aAAa,EAAE,IAAI,IAAI,EAAE;aAC1B,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAEvD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAmB;gBAC7B,EAAE;gBACF,IAAI;gBACJ,SAAS;gBACT,MAAM;gBACN,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;aACrB,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAE7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEhF,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;gBACnB,GAAG,MAAM;gBACT,MAAM,EAAE,cAAc;aACvB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;oBACvC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,YAAY,GAAkB,EAAE,CAAC;QAEvC,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;oBAC/C,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;wBAC5C,QAAQ,EAAE,EAAE;wBACZ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;qBACrB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,QAAgB,EAChB,IAA6B;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,GAAW;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAExC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU;gBACxC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;qBACxC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;oBACrB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC;oBAC/C,OAAO,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC/B,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC;gBACf,CAAC,CAAC,mBAAmB,CAAC;YAExB,OAAO,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,kBAAkB,MAAM,EAAE,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,OAAO;;;;;EAKT,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAChC,CAAC;CACF"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * MCP (Model Context Protocol) Types
3
+ * Core type definitions for MCP integration
4
+ */
5
+ import type { PrismaClient } from '@prisma/client';
6
+ /**
7
+ * Logger interface for MCP services
8
+ */
9
+ export interface LoggerLike {
10
+ debug(message: string, meta?: Record<string, unknown>): void;
11
+ info(message: string, meta?: Record<string, unknown>): void;
12
+ warn(message: string, meta?: Record<string, unknown>): void;
13
+ error(message: string, meta?: Record<string, unknown>): void;
14
+ }
15
+ /**
16
+ * MCP Transport type
17
+ */
18
+ export type McpTransport = 'stdio' | 'http' | 'sse';
19
+ /**
20
+ * MCP Server configuration
21
+ */
22
+ export interface McpServerConfig {
23
+ command?: string;
24
+ args?: string[];
25
+ env?: Record<string, string>;
26
+ url?: string;
27
+ headers?: Record<string, string>;
28
+ timeout?: number;
29
+ }
30
+ /**
31
+ * MCP Server connection state
32
+ */
33
+ export interface McpServerState {
34
+ id: string;
35
+ name: string;
36
+ status: 'connected' | 'disconnected' | 'connecting' | 'error';
37
+ transport: McpTransport;
38
+ config: McpServerConfig;
39
+ lastConnected?: Date;
40
+ error?: string;
41
+ }
42
+ /**
43
+ * JSON Schema definition for tool input
44
+ */
45
+ export interface JsonSchema {
46
+ type: string;
47
+ properties?: Record<string, JsonSchema>;
48
+ required?: string[];
49
+ items?: JsonSchema;
50
+ description?: string;
51
+ }
52
+ /**
53
+ * MCP Tool definition
54
+ */
55
+ export interface McpTool {
56
+ serverId: string;
57
+ name: string;
58
+ description: string;
59
+ inputSchema: JsonSchema;
60
+ }
61
+ /**
62
+ * MCP Resource definition
63
+ */
64
+ export interface McpResource {
65
+ serverId: string;
66
+ uri: string;
67
+ name: string;
68
+ description?: string;
69
+ mimeType?: string;
70
+ }
71
+ /**
72
+ * MCP Prompt definition
73
+ */
74
+ export interface McpPrompt {
75
+ serverId: string;
76
+ name: string;
77
+ description?: string;
78
+ arguments?: Array<{
79
+ name: string;
80
+ description?: string;
81
+ required?: boolean;
82
+ }>;
83
+ }
84
+ /**
85
+ * MCP Tool call request
86
+ */
87
+ export interface McpToolCallRequest {
88
+ serverId: string;
89
+ toolName: string;
90
+ arguments: Record<string, unknown>;
91
+ }
92
+ /**
93
+ * MCP Tool call result
94
+ */
95
+ export interface McpToolCallResult {
96
+ content: Array<{
97
+ type: 'text' | 'image' | 'resource';
98
+ text?: string;
99
+ data?: string;
100
+ mimeType?: string;
101
+ }>;
102
+ isError?: boolean;
103
+ }
104
+ /**
105
+ * MCP Resource read request
106
+ */
107
+ export interface McpResourceReadRequest {
108
+ serverId: string;
109
+ uri: string;
110
+ }
111
+ /**
112
+ * MCP Resource read result
113
+ */
114
+ export interface McpResourceReadResult {
115
+ contents: Array<{
116
+ uri: string;
117
+ mimeType?: string;
118
+ text?: string;
119
+ blob?: string;
120
+ }>;
121
+ }
122
+ /**
123
+ * MCP Service dependencies
124
+ */
125
+ export interface McpServiceDependencies {
126
+ prisma: PrismaClient;
127
+ logger: LoggerLike;
128
+ }
129
+ /**
130
+ * MCP Service interface
131
+ */
132
+ export interface McpServiceLike {
133
+ connectServer(id: string, name: string, transport: McpTransport, config: McpServerConfig): Promise<McpServerState>;
134
+ disconnectServer(id: string): Promise<void>;
135
+ getServer(id: string): McpServerState | undefined;
136
+ getServers(): McpServerState[];
137
+ listAllTools(): Promise<McpTool[]>;
138
+ listAllResources(): Promise<McpResource[]>;
139
+ callTool(serverId: string, toolName: string, args: Record<string, unknown>): Promise<McpToolCallResult>;
140
+ readResource(serverId: string, uri: string): Promise<McpResourceReadResult>;
141
+ }
142
+ //# sourceMappingURL=mcp.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.types.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * MCP (Model Context Protocol) Types
3
+ * Core type definitions for MCP integration
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=mcp.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.types.js","sourceRoot":"","sources":["../../src/mcp/mcp.types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Common MCP Source Presets
3
+ * Pre-configured templates for common MCP servers
4
+ */
5
+ export interface SourcePreset {
6
+ type: string;
7
+ name: string;
8
+ description: string;
9
+ transport: 'stdio' | 'http';
10
+ configTemplate: {
11
+ command?: string;
12
+ args?: string[];
13
+ envRequired?: string[];
14
+ url?: string;
15
+ };
16
+ icon: string;
17
+ category: 'database' | 'development' | 'productivity' | 'communication' | 'custom';
18
+ }
19
+ export declare const COMMON_SOURCE_PRESETS: SourcePreset[];
20
+ /**
21
+ * Get a preset by type
22
+ */
23
+ export declare function getPreset(type: string): SourcePreset | undefined;
24
+ /**
25
+ * Get presets by category
26
+ */
27
+ export declare function getPresetsByCategory(category: SourcePreset['category']): SourcePreset[];
28
+ //# sourceMappingURL=common-sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-sources.d.ts","sourceRoot":"","sources":["../../../src/mcp/presets/common-sources.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,cAAc,EAAE;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,GAAG,QAAQ,CAAC;CACpF;AAED,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAmG/C,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,GACjC,YAAY,EAAE,CAEhB"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Common MCP Source Presets
3
+ * Pre-configured templates for common MCP servers
4
+ */
5
+ export const COMMON_SOURCE_PRESETS = [
6
+ // Database Sources
7
+ {
8
+ type: 'postgres',
9
+ name: 'PostgreSQL',
10
+ description: 'Connect to PostgreSQL databases for querying and analysis',
11
+ transport: 'stdio',
12
+ configTemplate: {
13
+ command: 'npx',
14
+ args: ['-y', '@modelcontextprotocol/server-postgres'],
15
+ envRequired: ['POSTGRES_CONNECTION_STRING'],
16
+ },
17
+ icon: 'database',
18
+ category: 'database',
19
+ },
20
+ {
21
+ type: 'sqlite',
22
+ name: 'SQLite',
23
+ description: 'Connect to SQLite databases',
24
+ transport: 'stdio',
25
+ configTemplate: {
26
+ command: 'npx',
27
+ args: ['-y', '@modelcontextprotocol/server-sqlite'],
28
+ envRequired: ['SQLITE_PATH'],
29
+ },
30
+ icon: 'database',
31
+ category: 'database',
32
+ },
33
+ // Development Sources
34
+ {
35
+ type: 'github',
36
+ name: 'GitHub',
37
+ description: 'Access GitHub repositories, issues, and pull requests',
38
+ transport: 'stdio',
39
+ configTemplate: {
40
+ command: 'npx',
41
+ args: ['-y', '@modelcontextprotocol/server-github'],
42
+ envRequired: ['GITHUB_TOKEN'],
43
+ },
44
+ icon: 'github',
45
+ category: 'development',
46
+ },
47
+ {
48
+ type: 'filesystem',
49
+ name: 'File System',
50
+ description: 'Access local files and directories',
51
+ transport: 'stdio',
52
+ configTemplate: {
53
+ command: 'npx',
54
+ args: ['-y', '@modelcontextprotocol/server-filesystem'],
55
+ envRequired: ['ALLOWED_DIRECTORIES'],
56
+ },
57
+ icon: 'folder',
58
+ category: 'development',
59
+ },
60
+ // Productivity Sources
61
+ {
62
+ type: 'slack',
63
+ name: 'Slack',
64
+ description: 'Access Slack messages and channels',
65
+ transport: 'stdio',
66
+ configTemplate: {
67
+ command: 'npx',
68
+ args: ['-y', '@modelcontextprotocol/server-slack'],
69
+ envRequired: ['SLACK_BOT_TOKEN'],
70
+ },
71
+ icon: 'slack',
72
+ category: 'communication',
73
+ },
74
+ {
75
+ type: 'google-drive',
76
+ name: 'Google Drive',
77
+ description: 'Access Google Drive files and folders',
78
+ transport: 'stdio',
79
+ configTemplate: {
80
+ command: 'npx',
81
+ args: ['-y', '@modelcontextprotocol/server-gdrive'],
82
+ envRequired: ['GOOGLE_CREDENTIALS'],
83
+ },
84
+ icon: 'cloud',
85
+ category: 'productivity',
86
+ },
87
+ // Custom
88
+ {
89
+ type: 'custom',
90
+ name: 'Custom MCP Server',
91
+ description: 'Connect to any MCP-compatible server',
92
+ transport: 'stdio',
93
+ configTemplate: {
94
+ command: '',
95
+ args: [],
96
+ envRequired: [],
97
+ },
98
+ icon: 'plug',
99
+ category: 'custom',
100
+ },
101
+ ];
102
+ /**
103
+ * Get a preset by type
104
+ */
105
+ export function getPreset(type) {
106
+ return COMMON_SOURCE_PRESETS.find(p => p.type === type);
107
+ }
108
+ /**
109
+ * Get presets by category
110
+ */
111
+ export function getPresetsByCategory(category) {
112
+ return COMMON_SOURCE_PRESETS.filter(p => p.category === category);
113
+ }
114
+ //# sourceMappingURL=common-sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-sources.js","sourceRoot":"","sources":["../../../src/mcp/presets/common-sources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * MCP Presets Index
3
+ */
4
+ export { COMMON_SOURCE_PRESETS, getPreset, getPresetsByCategory, type SourcePreset, } from './common-sources.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/presets/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,oBAAoB,EACpB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * MCP Presets Index
3
+ */
4
+ export { COMMON_SOURCE_PRESETS, getPreset, getPresetsByCategory, } from './common-sources.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/presets/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,oBAAoB,GAErB,MAAM,qBAAqB,CAAC"}