ucm-mcp-server 6.6.0 → 6.7.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 (214) hide show
  1. package/dist/clients/UcmLocalApiClient.d.ts +48 -1
  2. package/dist/clients/UcmLocalApiClient.js +8 -0
  3. package/dist/index.js +1 -1
  4. package/dist/interfaces/IMcpTool.d.ts +2 -2
  5. package/dist/server/ToolRegistry.js +2 -0
  6. package/dist/tools/base/BaseToolController.d.ts +7 -4
  7. package/dist/tools/base/BaseToolController.js +28 -11
  8. package/dist/tools/core/MoveArtifactTool.d.ts +1 -1
  9. package/dist/tools/core/MoveArtifactTool.js +1 -1
  10. package/dist/tools/memory-graph/GraphCreateEntitiesTool.d.ts +5 -2
  11. package/dist/tools/memory-graph/GraphCreateEntitiesTool.js +2 -0
  12. package/dist/tools/memory-graph/GraphCreateRelationshipsTool.d.ts +5 -2
  13. package/dist/tools/memory-graph/GraphCreateRelationshipsTool.js +2 -0
  14. package/dist/tools/memory-graph/GraphCreateTool.d.ts +5 -2
  15. package/dist/tools/memory-graph/GraphCreateTool.js +2 -0
  16. package/dist/tools/memory-graph/GraphDeleteEntitiesTool.d.ts +5 -2
  17. package/dist/tools/memory-graph/GraphDeleteEntitiesTool.js +2 -0
  18. package/dist/tools/memory-graph/GraphDeleteRelationshipsTool.d.ts +5 -2
  19. package/dist/tools/memory-graph/GraphDeleteRelationshipsTool.js +2 -0
  20. package/dist/tools/memory-graph/GraphExploreTool.d.ts +5 -2
  21. package/dist/tools/memory-graph/GraphExploreTool.js +2 -0
  22. package/dist/tools/memory-graph/GraphFindEntitiesTool.d.ts +5 -2
  23. package/dist/tools/memory-graph/GraphFindEntitiesTool.js +2 -0
  24. package/dist/tools/memory-graph/GraphFindPathsTool.d.ts +5 -2
  25. package/dist/tools/memory-graph/GraphFindPathsTool.js +2 -0
  26. package/dist/tools/memory-graph/GraphGetEntityTool.d.ts +5 -2
  27. package/dist/tools/memory-graph/GraphGetEntityTool.js +2 -0
  28. package/dist/tools/memory-graph/GraphGetRelationshipsTool.d.ts +5 -2
  29. package/dist/tools/memory-graph/GraphGetRelationshipsTool.js +2 -0
  30. package/dist/tools/memory-graph/GraphListTemplatesTool.d.ts +5 -2
  31. package/dist/tools/memory-graph/GraphListTemplatesTool.js +2 -0
  32. package/dist/tools/memory-graph/GraphListTool.d.ts +5 -2
  33. package/dist/tools/memory-graph/GraphListTool.js +2 -0
  34. package/dist/tools/memory-graph/GraphOpenTool.d.ts +5 -2
  35. package/dist/tools/memory-graph/GraphOpenTool.js +3 -1
  36. package/dist/tools/memory-graph/GraphProposeVocabularyTool.d.ts +5 -2
  37. package/dist/tools/memory-graph/GraphProposeVocabularyTool.js +51 -6
  38. package/dist/tools/memory-graph/GraphSearchTool.d.ts +5 -2
  39. package/dist/tools/memory-graph/GraphSearchTool.js +2 -0
  40. package/dist/tools/memory-graph/GraphTraverseTool.d.ts +5 -2
  41. package/dist/tools/memory-graph/GraphTraverseTool.js +2 -0
  42. package/dist/tools/memory-graph/GraphUpdateEntitiesTool.d.ts +5 -2
  43. package/dist/tools/memory-graph/GraphUpdateEntitiesTool.js +2 -0
  44. package/dist/{mcp-server/tools/memory-graph/GraphSearchTool.d.ts → tools/memory-graph/GraphUpdateTool.d.ts} +4 -4
  45. package/dist/tools/memory-graph/GraphUpdateTool.js +59 -0
  46. package/dist/tools/memory-graph/KnowledgeSetListTool.d.ts +5 -2
  47. package/dist/tools/memory-graph/KnowledgeSetListTool.js +2 -0
  48. package/dist/tools/memory-graph/KnowledgeSetOpenTool.d.ts +5 -2
  49. package/dist/tools/memory-graph/KnowledgeSetOpenTool.js +2 -0
  50. package/package.json +1 -1
  51. package/dist/clients/UcmApiClient.d.ts +0 -157
  52. package/dist/clients/UcmApiClient.js +0 -443
  53. package/dist/mcp-server/clients/UcmLocalApiClient.d.ts +0 -399
  54. package/dist/mcp-server/clients/UcmLocalApiClient.js +0 -719
  55. package/dist/mcp-server/index.d.ts +0 -3
  56. package/dist/mcp-server/index.js +0 -68
  57. package/dist/mcp-server/interfaces/ILogger.d.ts +0 -8
  58. package/dist/mcp-server/interfaces/ILogger.js +0 -4
  59. package/dist/mcp-server/interfaces/IMcpTool.d.ts +0 -7
  60. package/dist/mcp-server/interfaces/IMcpTool.js +0 -3
  61. package/dist/mcp-server/logging/ConsoleLogger.d.ts +0 -16
  62. package/dist/mcp-server/logging/ConsoleLogger.js +0 -45
  63. package/dist/mcp-server/logging/LoggerFactory.d.ts +0 -9
  64. package/dist/mcp-server/logging/LoggerFactory.js +0 -12
  65. package/dist/mcp-server/server/McpConfig.d.ts +0 -26
  66. package/dist/mcp-server/server/McpConfig.js +0 -90
  67. package/dist/mcp-server/server/McpHandler.d.ts +0 -12
  68. package/dist/mcp-server/server/McpHandler.js +0 -84
  69. package/dist/mcp-server/server/McpServer.d.ts +0 -15
  70. package/dist/mcp-server/server/McpServer.js +0 -49
  71. package/dist/mcp-server/server/ToolRegistry.d.ts +0 -23
  72. package/dist/mcp-server/server/ToolRegistry.js +0 -169
  73. package/dist/mcp-server/tools/authorization/ListAuthorizationsTool.d.ts +0 -21
  74. package/dist/mcp-server/tools/authorization/ListAuthorizationsTool.js +0 -146
  75. package/dist/mcp-server/tools/authorization/SignOutTool.d.ts +0 -23
  76. package/dist/mcp-server/tools/authorization/SignOutTool.js +0 -128
  77. package/dist/mcp-server/tools/base/BaseToolController.d.ts +0 -19
  78. package/dist/mcp-server/tools/base/BaseToolController.js +0 -58
  79. package/dist/mcp-server/tools/connections/AccessConnectionTool.d.ts +0 -21
  80. package/dist/mcp-server/tools/connections/AccessConnectionTool.js +0 -107
  81. package/dist/mcp-server/tools/connections/CallRemoteToolTool.d.ts +0 -22
  82. package/dist/mcp-server/tools/connections/CallRemoteToolTool.js +0 -124
  83. package/dist/mcp-server/tools/core/DeleteArtifactTool.d.ts +0 -11
  84. package/dist/mcp-server/tools/core/DeleteArtifactTool.js +0 -83
  85. package/dist/mcp-server/tools/core/EditArtifactMetadataTool.d.ts +0 -12
  86. package/dist/mcp-server/tools/core/EditArtifactMetadataTool.js +0 -173
  87. package/dist/mcp-server/tools/core/GetArtifactTool.d.ts +0 -13
  88. package/dist/mcp-server/tools/core/GetArtifactTool.js +0 -124
  89. package/dist/mcp-server/tools/core/GetArtifactVersionsTool.d.ts +0 -11
  90. package/dist/mcp-server/tools/core/GetArtifactVersionsTool.js +0 -63
  91. package/dist/mcp-server/tools/core/GetChunkTool.d.ts +0 -11
  92. package/dist/mcp-server/tools/core/GetChunkTool.js +0 -56
  93. package/dist/mcp-server/tools/core/ListArtifactsTool.d.ts +0 -11
  94. package/dist/mcp-server/tools/core/ListArtifactsTool.js +0 -84
  95. package/dist/mcp-server/tools/core/MoveArtifactTool.d.ts +0 -12
  96. package/dist/mcp-server/tools/core/MoveArtifactTool.js +0 -104
  97. package/dist/mcp-server/tools/core/PublishArtifactFromFileTool.d.ts +0 -15
  98. package/dist/mcp-server/tools/core/PublishArtifactFromFileTool.js +0 -277
  99. package/dist/mcp-server/tools/core/PublishArtifactTool.d.ts +0 -13
  100. package/dist/mcp-server/tools/core/PublishArtifactTool.js +0 -218
  101. package/dist/mcp-server/tools/core/SearchArtifactsTool.d.ts +0 -11
  102. package/dist/mcp-server/tools/core/SearchArtifactsTool.js +0 -137
  103. package/dist/mcp-server/tools/list/ListNamespaceController.d.ts +0 -1
  104. package/dist/mcp-server/tools/list/ListNamespaceController.js +0 -8
  105. package/dist/mcp-server/tools/memory-graph/GraphCreateEntitiesTool.d.ts +0 -14
  106. package/dist/mcp-server/tools/memory-graph/GraphCreateEntitiesTool.js +0 -58
  107. package/dist/mcp-server/tools/memory-graph/GraphCreateRelationshipsTool.d.ts +0 -14
  108. package/dist/mcp-server/tools/memory-graph/GraphCreateRelationshipsTool.js +0 -57
  109. package/dist/mcp-server/tools/memory-graph/GraphCreateTool.d.ts +0 -14
  110. package/dist/mcp-server/tools/memory-graph/GraphCreateTool.js +0 -64
  111. package/dist/mcp-server/tools/memory-graph/GraphDeleteEntitiesTool.d.ts +0 -14
  112. package/dist/mcp-server/tools/memory-graph/GraphDeleteEntitiesTool.js +0 -45
  113. package/dist/mcp-server/tools/memory-graph/GraphDeleteRelationshipsTool.d.ts +0 -14
  114. package/dist/mcp-server/tools/memory-graph/GraphDeleteRelationshipsTool.js +0 -45
  115. package/dist/mcp-server/tools/memory-graph/GraphExploreTool.d.ts +0 -14
  116. package/dist/mcp-server/tools/memory-graph/GraphExploreTool.js +0 -73
  117. package/dist/mcp-server/tools/memory-graph/GraphFindEntitiesTool.d.ts +0 -14
  118. package/dist/mcp-server/tools/memory-graph/GraphFindEntitiesTool.js +0 -68
  119. package/dist/mcp-server/tools/memory-graph/GraphFindPathsTool.d.ts +0 -14
  120. package/dist/mcp-server/tools/memory-graph/GraphFindPathsTool.js +0 -62
  121. package/dist/mcp-server/tools/memory-graph/GraphGetEntityTool.d.ts +0 -14
  122. package/dist/mcp-server/tools/memory-graph/GraphGetEntityTool.js +0 -49
  123. package/dist/mcp-server/tools/memory-graph/GraphGetRelationshipsTool.d.ts +0 -14
  124. package/dist/mcp-server/tools/memory-graph/GraphGetRelationshipsTool.js +0 -62
  125. package/dist/mcp-server/tools/memory-graph/GraphListTemplatesTool.d.ts +0 -14
  126. package/dist/mcp-server/tools/memory-graph/GraphListTemplatesTool.js +0 -34
  127. package/dist/mcp-server/tools/memory-graph/GraphListTool.d.ts +0 -14
  128. package/dist/mcp-server/tools/memory-graph/GraphListTool.js +0 -45
  129. package/dist/mcp-server/tools/memory-graph/GraphOpenTool.d.ts +0 -15
  130. package/dist/mcp-server/tools/memory-graph/GraphOpenTool.js +0 -50
  131. package/dist/mcp-server/tools/memory-graph/GraphProposeVocabularyTool.d.ts +0 -14
  132. package/dist/mcp-server/tools/memory-graph/GraphProposeVocabularyTool.js +0 -108
  133. package/dist/mcp-server/tools/memory-graph/GraphSearchTool.js +0 -94
  134. package/dist/mcp-server/tools/memory-graph/GraphTraverseTool.d.ts +0 -14
  135. package/dist/mcp-server/tools/memory-graph/GraphTraverseTool.js +0 -114
  136. package/dist/mcp-server/tools/memory-graph/GraphUpdateEntitiesTool.d.ts +0 -14
  137. package/dist/mcp-server/tools/memory-graph/GraphUpdateEntitiesTool.js +0 -58
  138. package/dist/mcp-server/tools/memory-graph/KnowledgeSetListTool.d.ts +0 -14
  139. package/dist/mcp-server/tools/memory-graph/KnowledgeSetListTool.js +0 -25
  140. package/dist/mcp-server/tools/memory-graph/KnowledgeSetOpenTool.d.ts +0 -14
  141. package/dist/mcp-server/tools/memory-graph/KnowledgeSetOpenTool.js +0 -31
  142. package/dist/mcp-server/tools/repository/CreateRepositoryTool.d.ts +0 -12
  143. package/dist/mcp-server/tools/repository/CreateRepositoryTool.js +0 -116
  144. package/dist/mcp-server/tools/repository/GetRepositoryTool.d.ts +0 -12
  145. package/dist/mcp-server/tools/repository/GetRepositoryTool.js +0 -85
  146. package/dist/mcp-server/tools/repository/UpdateRepositoryTool.d.ts +0 -12
  147. package/dist/mcp-server/tools/repository/UpdateRepositoryTool.js +0 -115
  148. package/dist/mcp-server/tools/sharepoint/SharePointListConnectionsTool.d.ts +0 -19
  149. package/dist/mcp-server/tools/sharepoint/SharePointListConnectionsTool.js +0 -90
  150. package/dist/mcp-server/tools/sharepoint/SharePointListFoldersTool.d.ts +0 -21
  151. package/dist/mcp-server/tools/sharepoint/SharePointListFoldersTool.js +0 -133
  152. package/dist/mcp-server/tools/sharepoint/SharePointReadFileTool.d.ts +0 -22
  153. package/dist/mcp-server/tools/sharepoint/SharePointReadFileTool.js +0 -146
  154. package/dist/mcp-server/tools/sharepoint/SharePointReadRelatedFileTool.d.ts +0 -18
  155. package/dist/mcp-server/tools/sharepoint/SharePointReadRelatedFileTool.js +0 -108
  156. package/dist/mcp-server/tools/sharepoint/SharePointSearchTool.d.ts +0 -22
  157. package/dist/mcp-server/tools/sharepoint/SharePointSearchTool.js +0 -125
  158. package/dist/mcp-server/tools/utility/AuthorIndexTool.d.ts +0 -11
  159. package/dist/mcp-server/tools/utility/AuthorIndexTool.js +0 -49
  160. package/dist/mcp-server/tools/utility/AuthorRecentsTool.d.ts +0 -11
  161. package/dist/mcp-server/tools/utility/AuthorRecentsTool.js +0 -49
  162. package/dist/mcp-server/tools/utility/ListRepositoriesTool.d.ts +0 -11
  163. package/dist/mcp-server/tools/utility/ListRepositoriesTool.js +0 -68
  164. package/dist/mcp-server/tools/utility/QuickstartTool.d.ts +0 -11
  165. package/dist/mcp-server/tools/utility/QuickstartTool.js +0 -36
  166. package/dist/mcp-server/types/UcmApiTypes.d.ts +0 -40
  167. package/dist/mcp-server/types/UcmApiTypes.js +0 -4
  168. package/dist/mcp-server/utils/McpErrorHandler.d.ts +0 -25
  169. package/dist/mcp-server/utils/McpErrorHandler.js +0 -67
  170. package/dist/mcp-server/utils/PathUtils.d.ts +0 -61
  171. package/dist/mcp-server/utils/PathUtils.js +0 -178
  172. package/dist/mcp-server/utils/ResponseChunker.d.ts +0 -25
  173. package/dist/mcp-server/utils/ResponseChunker.js +0 -79
  174. package/dist/mcp-server/utils/SharePointErrorHandler.d.ts +0 -34
  175. package/dist/mcp-server/utils/SharePointErrorHandler.js +0 -55
  176. package/dist/publish/package.json +0 -37
  177. package/dist/schemas/memory-graph-tool-schemas.d.ts +0 -789
  178. package/dist/schemas/memory-graph-tool-schemas.js +0 -181
  179. package/dist/tools/artifacts/GetArtifactController.d.ts +0 -34
  180. package/dist/tools/artifacts/GetArtifactController.js +0 -397
  181. package/dist/tools/artifacts/GetLatestController.d.ts +0 -39
  182. package/dist/tools/artifacts/GetLatestController.js +0 -469
  183. package/dist/tools/artifacts/ListVersionsController.d.ts +0 -43
  184. package/dist/tools/artifacts/ListVersionsController.js +0 -530
  185. package/dist/tools/artifacts/PublishArtifactController.d.ts +0 -37
  186. package/dist/tools/artifacts/PublishArtifactController.js +0 -605
  187. package/dist/tools/discovery/BrowseCategoriesController.d.ts +0 -25
  188. package/dist/tools/discovery/BrowseCategoriesController.js +0 -400
  189. package/dist/tools/discovery/FindByPurposeController.d.ts +0 -12
  190. package/dist/tools/discovery/FindByPurposeController.js +0 -131
  191. package/dist/tools/discovery/ListAuthorsController.d.ts +0 -20
  192. package/dist/tools/discovery/ListAuthorsController.js +0 -274
  193. package/dist/tools/discovery/SearchArtifactsController.d.ts +0 -14
  194. package/dist/tools/discovery/SearchArtifactsController.js +0 -226
  195. package/dist/tools/memory-graph/GraphGetStatsTool.d.ts +0 -11
  196. package/dist/tools/memory-graph/GraphGetStatsTool.js +0 -42
  197. package/dist/tools/memory-graph/GraphRemoveRelationshipsTool.d.ts +0 -11
  198. package/dist/tools/memory-graph/GraphRemoveRelationshipsTool.js +0 -47
  199. package/dist/tools/navigation/ExploreNamespaceController.d.ts +0 -35
  200. package/dist/tools/navigation/ExploreNamespaceController.js +0 -548
  201. package/dist/tools/repository/DeleteRepositoryGuidanceTool.d.ts +0 -13
  202. package/dist/tools/repository/DeleteRepositoryGuidanceTool.js +0 -93
  203. package/dist/tools/sharepoint/SharePointSignOutTool.d.ts +0 -22
  204. package/dist/tools/sharepoint/SharePointSignOutTool.js +0 -114
  205. package/dist/tools/utility/HealthCheckController.d.ts +0 -11
  206. package/dist/tools/utility/HealthCheckController.js +0 -60
  207. package/dist/tools/utility/SubmitFeedbackTool.d.ts +0 -16
  208. package/dist/tools/utility/SubmitFeedbackTool.js +0 -68
  209. package/dist/tools/utility/ValidatePathController.d.ts +0 -30
  210. package/dist/tools/utility/ValidatePathController.js +0 -465
  211. package/dist/utils/HttpsAgentFactory.d.ts +0 -21
  212. package/dist/utils/HttpsAgentFactory.js +0 -50
  213. package/dist/utils/ValidationUtils.d.ts +0 -10
  214. package/dist/utils/ValidationUtils.js +0 -50
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1,68 +0,0 @@
1
- #!/usr/bin/env node
2
- import { EventEmitter } from 'events';
3
- import { Command } from 'commander';
4
- import { McpServer } from './server/McpServer.js';
5
- import { McpConfig } from './server/McpConfig.js';
6
- import { LoggerFactory } from './logging/LoggerFactory.js';
7
- // Increase max listeners to prevent AbortSignal memory leak warnings
8
- // This is a safety net while we also implement proper cleanup
9
- EventEmitter.defaultMaxListeners = 40;
10
- async function main() {
11
- const program = new Command();
12
- program
13
- .name('ucm-mcp-server')
14
- .description('Universal Context Manager - Read the ucm_connect tool first to avoid mistakes')
15
- .version('6.6.0')
16
- .option('-u, --ucm-url <url>', 'UCM API base URL (defaults to https://ucm.utaba.ai)')
17
- .option('-p, --port <port>', 'Server port', '3001')
18
- .option('--log-level <level>', 'Log level', 'ERROR')
19
- .option('--auth-token <token>', 'Authentication token for UCM API format is {auhtorid}:{apikey}. Get one from https://ucm.utaba.ai')
20
- .option('--trusted-authors <authors>', 'Comma-separated list of trusted authors (e.g., "utaba,{anotherauthor}")', "utaba")
21
- .parse();
22
- const options = program.opts();
23
- const config = new McpConfig({
24
- ucmApiUrl: options.ucmUrl,
25
- port: parseInt(options.port),
26
- logLevel: options.logLevel,
27
- authToken: options.authToken,
28
- trustedAuthors: options.trustedAuthors ? options.trustedAuthors.split(',').map((a) => a.trim()) : ["utaba"]
29
- });
30
- // Set the log level in the factory before creating any loggers
31
- LoggerFactory.setLogLevel(config.logLevel);
32
- const logger = LoggerFactory.createLogger('MCP-Server');
33
- const server = new McpServer(config, logger);
34
- try {
35
- await server.start();
36
- logger.info('MCP-Server', 'UCM MCP Server started successfully');
37
- }
38
- catch (error) {
39
- logger.error('MCP-Server', 'Failed to start UCM MCP Server', '', error);
40
- process.exit(1);
41
- }
42
- // Graceful shutdown handlers
43
- const gracefulShutdown = async (signal) => {
44
- logger.info('MCP-Server', `Received ${signal}, shutting down UCM MCP Server...`);
45
- try {
46
- await server.stop();
47
- logger.info('MCP-Server', 'UCM MCP Server shutdown complete');
48
- process.exit(0);
49
- }
50
- catch (error) {
51
- logger.error('MCP-Server', 'Error during shutdown', '', error);
52
- process.exit(1);
53
- }
54
- };
55
- process.on('SIGINT', () => gracefulShutdown('SIGINT'));
56
- process.on('SIGTERM', () => gracefulShutdown('SIGTERM'));
57
- // Handle uncaught exceptions and unhandled rejections
58
- process.on('uncaughtException', (error) => {
59
- logger.error('MCP-Server', 'Uncaught exception', '', error);
60
- process.exit(1);
61
- });
62
- process.on('unhandledRejection', (reason, promise) => {
63
- logger.error('MCP-Server', 'Unhandled rejection', '', { reason, promise });
64
- process.exit(1);
65
- });
66
- }
67
- main().catch(console.error);
68
- //# sourceMappingURL=index.js.map
@@ -1,8 +0,0 @@
1
- export interface ILogger {
2
- debug(component: string, message: string, context?: string, metadata?: any): void;
3
- info(component: string, message: string, context?: string, metadata?: any): void;
4
- warn(component: string, message: string, context?: string, metadata?: any): void;
5
- error(component: string, message: string, context?: string, metadata?: any): void;
6
- logPerformance(component: string, operation: string, fileSize?: number, duration?: number, quota?: number): void;
7
- }
8
- //# sourceMappingURL=ILogger.d.ts.map
@@ -1,4 +0,0 @@
1
- // Source: Duplicated from ../core/logging/ILogger.ts for MCP Server independence
2
- // Sync with Next.js app logging interface when updates are made
3
- export {};
4
- //# sourceMappingURL=ILogger.js.map
@@ -1,7 +0,0 @@
1
- export interface IMcpTool {
2
- readonly name: string;
3
- readonly description: string;
4
- readonly inputSchema: Record<string, unknown>;
5
- execute(params: Record<string, unknown>): Promise<string>;
6
- }
7
- //# sourceMappingURL=IMcpTool.d.ts.map
@@ -1,3 +0,0 @@
1
- // MCP Tool interface for all UCM MCP tools
2
- export {};
3
- //# sourceMappingURL=IMcpTool.js.map
@@ -1,16 +0,0 @@
1
- import { ILogger } from '../interfaces/ILogger.js';
2
- type LogLevel = 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
3
- export declare class ConsoleLogger implements ILogger {
4
- private defaultComponent;
5
- private logLevel;
6
- private logLevelPriority;
7
- constructor(defaultComponent: string, logLevel?: LogLevel);
8
- private shouldLog;
9
- debug(component: string, message: string, context?: string, metadata?: any): void;
10
- info(component: string, message: string, context?: string, metadata?: any): void;
11
- warn(component: string, message: string, context?: string, metadata?: any): void;
12
- error(component: string, message: string, context?: string, metadata?: any): void;
13
- logPerformance(component: string, operation: string, fileSize?: number, duration?: number, quota?: number): void;
14
- }
15
- export {};
16
- //# sourceMappingURL=ConsoleLogger.d.ts.map
@@ -1,45 +0,0 @@
1
- // Source: Duplicated from ../core/logging/ConsoleLogger.ts for MCP Server independence
2
- // Sync with Next.js app logger when updates are made
3
- export class ConsoleLogger {
4
- defaultComponent;
5
- logLevel;
6
- logLevelPriority = {
7
- 'DEBUG': 0,
8
- 'INFO': 1,
9
- 'WARN': 2,
10
- 'ERROR': 3
11
- };
12
- constructor(defaultComponent, logLevel = 'INFO') {
13
- this.defaultComponent = defaultComponent;
14
- this.logLevel = logLevel;
15
- }
16
- shouldLog(level) {
17
- return this.logLevelPriority[level] >= this.logLevelPriority[this.logLevel];
18
- }
19
- debug(component, message, context, metadata) {
20
- if (this.shouldLog('DEBUG')) {
21
- console.debug(`[DEBUG] ${component}: ${message}`, metadata || '');
22
- }
23
- }
24
- info(component, message, context, metadata) {
25
- if (this.shouldLog('INFO')) {
26
- console.info(`[INFO] ${component}: ${message}`, metadata || '');
27
- }
28
- }
29
- warn(component, message, context, metadata) {
30
- if (this.shouldLog('WARN')) {
31
- console.warn(`[WARN] ${component}: ${message}`, metadata || '');
32
- }
33
- }
34
- error(component, message, context, metadata) {
35
- if (this.shouldLog('ERROR')) {
36
- console.error(`[ERROR] ${component}: ${message}`, metadata || '');
37
- }
38
- }
39
- logPerformance(component, operation, fileSize, duration, quota) {
40
- if (this.shouldLog('INFO')) {
41
- console.info(`[PERF] ${component}: ${operation} - Duration: ${duration}ms`);
42
- }
43
- }
44
- }
45
- //# sourceMappingURL=ConsoleLogger.js.map
@@ -1,9 +0,0 @@
1
- import { ILogger } from '../interfaces/ILogger.js';
2
- type LogLevel = 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
3
- export declare class LoggerFactory {
4
- private static logLevel;
5
- static setLogLevel(level: LogLevel): void;
6
- static createLogger(component: string): ILogger;
7
- }
8
- export {};
9
- //# sourceMappingURL=LoggerFactory.d.ts.map
@@ -1,12 +0,0 @@
1
- // MCP Server-specific logger factory
2
- import { ConsoleLogger } from './ConsoleLogger.js';
3
- export class LoggerFactory {
4
- static logLevel = 'INFO';
5
- static setLogLevel(level) {
6
- this.logLevel = level;
7
- }
8
- static createLogger(component) {
9
- return new ConsoleLogger(component, this.logLevel);
10
- }
11
- }
12
- //# sourceMappingURL=LoggerFactory.js.map
@@ -1,26 +0,0 @@
1
- export interface McpServerConfig {
2
- ucmApiUrl: string;
3
- port: number;
4
- authToken?: string;
5
- authorId?: string;
6
- logLevel: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
7
- requestTimeout: number;
8
- trustedAuthors: string[];
9
- }
10
- export declare class McpConfig {
11
- private config;
12
- constructor(options?: Partial<McpServerConfig>);
13
- private extractAuthorIdFromToken;
14
- private getEnvVar;
15
- private parseTrustedAuthors;
16
- private validateConfig;
17
- get ucmApiUrl(): string;
18
- get port(): number;
19
- get authToken(): string | undefined;
20
- get logLevel(): 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
21
- get requestTimeout(): number;
22
- get trustedAuthors(): string[];
23
- get authorId(): string | undefined;
24
- getFullConfig(): McpServerConfig;
25
- }
26
- //# sourceMappingURL=McpConfig.d.ts.map
@@ -1,90 +0,0 @@
1
- // Source: Independent MCP Server configuration management
2
- // This class centralizes ALL MCP Server configuration and environment variables
3
- export class McpConfig {
4
- config;
5
- constructor(options = {}) {
6
- const authToken = options.authToken || this.getEnvVar('UCM_AUTH_TOKEN', '');
7
- const authorId = this.extractAuthorIdFromToken(authToken);
8
- this.config = {
9
- ucmApiUrl: options.ucmApiUrl || this.getEnvVar('UCM_API_URL', 'https://ucm.utaba.ai'),
10
- port: options.port || parseInt(this.getEnvVar('MCP_PORT', '3001')),
11
- authToken: authToken,
12
- authorId: options.authorId || authorId,
13
- logLevel: options.logLevel || this.getEnvVar('MCP_LOG_LEVEL', 'ERROR'),
14
- requestTimeout: options.requestTimeout || parseInt(this.getEnvVar('MCP_REQUEST_TIMEOUT', '300000')),
15
- trustedAuthors: options.trustedAuthors || this.parseTrustedAuthors(this.getEnvVar('MCP_TRUSTED_AUTHORS', ''))
16
- };
17
- this.validateConfig();
18
- }
19
- extractAuthorIdFromToken(authToken) {
20
- if (!authToken || authToken.trim() === '') {
21
- return undefined;
22
- }
23
- const parts = authToken.split(':');
24
- if (parts.length >= 2 && parts[0].trim() !== '') {
25
- return parts[0].trim();
26
- }
27
- return undefined;
28
- }
29
- getEnvVar(name, defaultValue) {
30
- const value = process.env[name];
31
- if (value !== undefined) {
32
- return value;
33
- }
34
- if (defaultValue !== undefined) {
35
- return defaultValue;
36
- }
37
- throw new Error(`Required environment variable ${name} is not set`);
38
- }
39
- parseTrustedAuthors(authorsString) {
40
- if (!authorsString || authorsString.trim() === '') {
41
- return [];
42
- }
43
- const authors = authorsString.split(',').map(author => author.trim()).filter(Boolean);
44
- const validAuthorPattern = /^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$/;
45
- for (const author of authors) {
46
- if (!validAuthorPattern.test(author)) {
47
- throw new Error(`Invalid trusted author format: "${author}". Authors must be alphanumeric with optional hyphens (no consecutive hyphens).`);
48
- }
49
- }
50
- return authors;
51
- }
52
- validateConfig() {
53
- if (!this.config.ucmApiUrl.startsWith('http')) {
54
- throw new Error('UCM API URL must be a valid HTTP/HTTPS URL');
55
- }
56
- if (this.config.port < 1 || this.config.port > 65535) {
57
- throw new Error('Port must be between 1 and 65535');
58
- }
59
- if (!['DEBUG', 'INFO', 'WARN', 'ERROR'].includes(this.config.logLevel)) {
60
- throw new Error('Log level must be one of: DEBUG, INFO, WARN, ERROR');
61
- }
62
- }
63
- // Getters for configuration values
64
- get ucmApiUrl() {
65
- return this.config.ucmApiUrl;
66
- }
67
- get port() {
68
- return this.config.port;
69
- }
70
- get authToken() {
71
- return this.config.authToken;
72
- }
73
- get logLevel() {
74
- return this.config.logLevel;
75
- }
76
- get requestTimeout() {
77
- return this.config.requestTimeout;
78
- }
79
- get trustedAuthors() {
80
- return this.config.trustedAuthors;
81
- }
82
- get authorId() {
83
- return this.config.authorId;
84
- }
85
- // Get full configuration object (for testing and debugging)
86
- getFullConfig() {
87
- return { ...this.config };
88
- }
89
- }
90
- //# sourceMappingURL=McpConfig.js.map
@@ -1,12 +0,0 @@
1
- import { ILogger } from '../interfaces/ILogger.js';
2
- import { ToolRegistry } from './ToolRegistry.js';
3
- export declare class McpHandler {
4
- private toolRegistry;
5
- private logger;
6
- private authorId?;
7
- constructor(toolRegistry: ToolRegistry, logger: ILogger, authorId?: string | undefined);
8
- handlePing(): Promise<any>;
9
- handleToolsList(): Promise<any>;
10
- handleToolCall(request: any): Promise<any>;
11
- }
12
- //# sourceMappingURL=McpHandler.d.ts.map
@@ -1,84 +0,0 @@
1
- import { McpError, McpErrorCode, McpErrorHandler } from '../utils/McpErrorHandler.js';
2
- export class McpHandler {
3
- toolRegistry;
4
- logger;
5
- authorId;
6
- constructor(toolRegistry, logger, authorId) {
7
- this.toolRegistry = toolRegistry;
8
- this.logger = logger;
9
- this.authorId = authorId;
10
- }
11
- async handlePing() {
12
- this.logger.debug('MCP-Handler', 'Received ping request');
13
- return {};
14
- }
15
- async handleToolsList() {
16
- this.logger.debug('MCP-Handler', 'Received tools/list request');
17
- try {
18
- const tools = await this.toolRegistry.listTools();
19
- this.logger.info('MCP-Handler', `Returning ${tools.length} available tools`);
20
- return {
21
- tools: tools.map(tool => ({
22
- name: tool.name,
23
- description: tool.description,
24
- inputSchema: tool.inputSchema
25
- }))
26
- };
27
- }
28
- catch (error) {
29
- this.logger.error('MCP-Handler', 'Failed to list tools', '', error);
30
- throw new McpError(McpErrorCode.InternalError, 'Failed to retrieve tool list');
31
- }
32
- }
33
- async handleToolCall(request) {
34
- const { name, arguments: args } = request.params;
35
- this.logger.debug('MCP-Handler', `Received tool call for: ${name}`);
36
- try {
37
- if (!name) {
38
- throw new McpError(McpErrorCode.InvalidParams, 'Tool name is required');
39
- }
40
- const result = await this.toolRegistry.executeTool(name, args || {});
41
- this.logger.info('MCP-Handler', `Tool ${name} executed successfully`);
42
- // If the tool returned a pre-formatted MCP response (with content array), pass through
43
- if (result && typeof result === 'object' && Array.isArray(result.content)) {
44
- return result;
45
- }
46
- // Handle string results directly (e.g., markdown content)
47
- if (typeof result === 'string') {
48
- return {
49
- content: [
50
- {
51
- type: 'text',
52
- text: result
53
- }
54
- ]
55
- };
56
- }
57
- // For objects/arrays, use JSON.stringify
58
- return {
59
- content: [
60
- {
61
- type: 'text',
62
- text: JSON.stringify(result, null, 2)
63
- }
64
- ]
65
- };
66
- }
67
- catch (error) {
68
- this.logger.error('MCP-Handler', `Tool execution failed for ${name}`, '', error);
69
- // Format the error message for Claude Desktop to display properly
70
- const formattedError = McpErrorHandler.formatError(error);
71
- // Instead of throwing, return the error as content so Claude Desktop displays it
72
- return {
73
- content: [
74
- {
75
- type: 'text',
76
- text: `Error: ${formattedError.message}`
77
- }
78
- ],
79
- isError: true
80
- };
81
- }
82
- }
83
- }
84
- //# sourceMappingURL=McpHandler.js.map
@@ -1,15 +0,0 @@
1
- import { McpConfig } from './McpConfig.js';
2
- import { ILogger } from '../interfaces/ILogger.js';
3
- export declare class McpServer {
4
- private config;
5
- private logger;
6
- private server;
7
- private handler;
8
- private ucmClient;
9
- private toolRegistry;
10
- constructor(config: McpConfig, logger: ILogger);
11
- private setupHandlers;
12
- start(): Promise<void>;
13
- stop(): Promise<void>;
14
- }
15
- //# sourceMappingURL=McpServer.d.ts.map
@@ -1,49 +0,0 @@
1
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
- import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
4
- import { McpHandler } from './McpHandler.js';
5
- import { UcmLocalApiClient } from '../clients/UcmLocalApiClient.js';
6
- import { ToolRegistry } from './ToolRegistry.js';
7
- export class McpServer {
8
- config;
9
- logger;
10
- server;
11
- handler;
12
- ucmClient;
13
- toolRegistry;
14
- constructor(config, logger) {
15
- this.config = config;
16
- this.logger = logger;
17
- this.ucmClient = new UcmLocalApiClient(config.ucmApiUrl, config.authToken, config.requestTimeout, config.authorId);
18
- this.toolRegistry = new ToolRegistry(this.ucmClient, this.logger, config.trustedAuthors, config.authorId, config.ucmApiUrl);
19
- this.handler = new McpHandler(this.toolRegistry, this.logger, config.authorId);
20
- this.server = new Server({
21
- name: 'ucm-mcp-server',
22
- version: '1.0.0',
23
- description: 'UCM Model Context Protocol Server - https://ucm.utaba.ai'
24
- }, {
25
- capabilities: {
26
- tools: {},
27
- logging: {}
28
- }
29
- });
30
- this.setupHandlers();
31
- }
32
- setupHandlers() {
33
- this.server.setRequestHandler(ListToolsRequestSchema, this.handler.handleToolsList.bind(this.handler));
34
- this.server.setRequestHandler(CallToolRequestSchema, this.handler.handleToolCall.bind(this.handler));
35
- }
36
- async start() {
37
- const transport = new StdioServerTransport();
38
- await this.server.connect(transport);
39
- this.logger.info('MCP-Server', 'MCP Server connected via stdio transport');
40
- }
41
- async stop() {
42
- // Cleanup HTTP client to prevent memory leaks from AbortSignal listeners
43
- this.ucmClient.cleanup();
44
- this.logger.info('MCP-Server', 'UCM API client cleaned up');
45
- await this.server.close();
46
- this.logger.info('MCP-Server', 'MCP Server stopped');
47
- }
48
- }
49
- //# sourceMappingURL=McpServer.js.map
@@ -1,23 +0,0 @@
1
- import { UcmLocalApiClient } from '../clients/UcmLocalApiClient.js';
2
- import { ILogger } from '../interfaces/ILogger.js';
3
- export interface ToolInfo {
4
- name: string;
5
- description: string;
6
- inputSchema: any;
7
- }
8
- export declare class ToolRegistry {
9
- private ucmClient;
10
- private logger;
11
- private trustedAuthors;
12
- private authorId?;
13
- private baseUrl?;
14
- private tools;
15
- constructor(ucmClient: UcmLocalApiClient, logger: ILogger, trustedAuthors?: string[], authorId?: string | undefined, baseUrl?: string | undefined);
16
- private registerTools;
17
- private registerTool;
18
- listTools(): Promise<ToolInfo[]>;
19
- executeTool(name: string, params: any): Promise<any>;
20
- getToolCount(): number;
21
- hasToolnamed(name: string): boolean;
22
- }
23
- //# sourceMappingURL=ToolRegistry.d.ts.map