ucm-mcp-server 6.6.0 → 6.7.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 (218) hide show
  1. package/dist/clients/UcmLocalApiClient.d.ts +50 -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/authorization/SignOutTool.js +3 -0
  7. package/dist/tools/base/BaseToolController.d.ts +7 -4
  8. package/dist/tools/base/BaseToolController.js +28 -11
  9. package/dist/tools/core/MoveArtifactTool.d.ts +1 -1
  10. package/dist/tools/core/MoveArtifactTool.js +1 -1
  11. package/dist/tools/memory-graph/GraphCreateEntitiesTool.d.ts +5 -2
  12. package/dist/tools/memory-graph/GraphCreateEntitiesTool.js +2 -0
  13. package/dist/tools/memory-graph/GraphCreateRelationshipsTool.d.ts +5 -2
  14. package/dist/tools/memory-graph/GraphCreateRelationshipsTool.js +2 -0
  15. package/dist/tools/memory-graph/GraphCreateTool.d.ts +5 -2
  16. package/dist/tools/memory-graph/GraphCreateTool.js +2 -0
  17. package/dist/tools/memory-graph/GraphDeleteEntitiesTool.d.ts +5 -2
  18. package/dist/tools/memory-graph/GraphDeleteEntitiesTool.js +2 -0
  19. package/dist/tools/memory-graph/GraphDeleteRelationshipsTool.d.ts +5 -2
  20. package/dist/tools/memory-graph/GraphDeleteRelationshipsTool.js +2 -0
  21. package/dist/tools/memory-graph/GraphExploreTool.d.ts +5 -2
  22. package/dist/tools/memory-graph/GraphExploreTool.js +4 -1
  23. package/dist/tools/memory-graph/GraphFindEntitiesTool.d.ts +5 -2
  24. package/dist/tools/memory-graph/GraphFindEntitiesTool.js +2 -0
  25. package/dist/tools/memory-graph/GraphFindPathsTool.d.ts +5 -2
  26. package/dist/tools/memory-graph/GraphFindPathsTool.js +2 -0
  27. package/dist/tools/memory-graph/GraphGetEntityTool.d.ts +5 -2
  28. package/dist/tools/memory-graph/GraphGetEntityTool.js +2 -0
  29. package/dist/tools/memory-graph/GraphGetRelationshipsTool.d.ts +5 -2
  30. package/dist/tools/memory-graph/GraphGetRelationshipsTool.js +4 -2
  31. package/dist/tools/memory-graph/GraphListTemplatesTool.d.ts +5 -2
  32. package/dist/tools/memory-graph/GraphListTemplatesTool.js +2 -0
  33. package/dist/tools/memory-graph/GraphListTool.d.ts +5 -2
  34. package/dist/tools/memory-graph/GraphListTool.js +2 -0
  35. package/dist/tools/memory-graph/GraphOpenTool.d.ts +5 -2
  36. package/dist/tools/memory-graph/GraphOpenTool.js +3 -1
  37. package/dist/tools/memory-graph/GraphProposeVocabularyTool.d.ts +5 -2
  38. package/dist/tools/memory-graph/GraphProposeVocabularyTool.js +51 -6
  39. package/dist/tools/memory-graph/GraphSearchTool.d.ts +5 -2
  40. package/dist/tools/memory-graph/GraphSearchTool.js +2 -0
  41. package/dist/tools/memory-graph/GraphTraverseTool.d.ts +5 -2
  42. package/dist/tools/memory-graph/GraphTraverseTool.js +2 -0
  43. package/dist/tools/memory-graph/GraphUpdateEntitiesTool.d.ts +5 -2
  44. package/dist/tools/memory-graph/GraphUpdateEntitiesTool.js +2 -0
  45. package/dist/{mcp-server/tools/memory-graph/GraphSearchTool.d.ts → tools/memory-graph/GraphUpdateTool.d.ts} +4 -4
  46. package/dist/tools/memory-graph/GraphUpdateTool.js +59 -0
  47. package/dist/tools/memory-graph/KnowledgeSetListTool.d.ts +5 -2
  48. package/dist/tools/memory-graph/KnowledgeSetListTool.js +2 -0
  49. package/dist/tools/memory-graph/KnowledgeSetOpenTool.d.ts +5 -2
  50. package/dist/tools/memory-graph/KnowledgeSetOpenTool.js +2 -0
  51. package/dist/tools/sharepoint/SharePointReadFileTool.js +1 -1
  52. package/dist/tools/sharepoint/SharePointSearchTool.d.ts +1 -0
  53. package/dist/tools/sharepoint/SharePointSearchTool.js +11 -2
  54. package/package.json +1 -1
  55. package/dist/clients/UcmApiClient.d.ts +0 -157
  56. package/dist/clients/UcmApiClient.js +0 -443
  57. package/dist/mcp-server/clients/UcmLocalApiClient.d.ts +0 -399
  58. package/dist/mcp-server/clients/UcmLocalApiClient.js +0 -719
  59. package/dist/mcp-server/index.d.ts +0 -3
  60. package/dist/mcp-server/index.js +0 -68
  61. package/dist/mcp-server/interfaces/ILogger.d.ts +0 -8
  62. package/dist/mcp-server/interfaces/ILogger.js +0 -4
  63. package/dist/mcp-server/interfaces/IMcpTool.d.ts +0 -7
  64. package/dist/mcp-server/interfaces/IMcpTool.js +0 -3
  65. package/dist/mcp-server/logging/ConsoleLogger.d.ts +0 -16
  66. package/dist/mcp-server/logging/ConsoleLogger.js +0 -45
  67. package/dist/mcp-server/logging/LoggerFactory.d.ts +0 -9
  68. package/dist/mcp-server/logging/LoggerFactory.js +0 -12
  69. package/dist/mcp-server/server/McpConfig.d.ts +0 -26
  70. package/dist/mcp-server/server/McpConfig.js +0 -90
  71. package/dist/mcp-server/server/McpHandler.d.ts +0 -12
  72. package/dist/mcp-server/server/McpHandler.js +0 -84
  73. package/dist/mcp-server/server/McpServer.d.ts +0 -15
  74. package/dist/mcp-server/server/McpServer.js +0 -49
  75. package/dist/mcp-server/server/ToolRegistry.d.ts +0 -23
  76. package/dist/mcp-server/server/ToolRegistry.js +0 -169
  77. package/dist/mcp-server/tools/authorization/ListAuthorizationsTool.d.ts +0 -21
  78. package/dist/mcp-server/tools/authorization/ListAuthorizationsTool.js +0 -146
  79. package/dist/mcp-server/tools/authorization/SignOutTool.d.ts +0 -23
  80. package/dist/mcp-server/tools/authorization/SignOutTool.js +0 -128
  81. package/dist/mcp-server/tools/base/BaseToolController.d.ts +0 -19
  82. package/dist/mcp-server/tools/base/BaseToolController.js +0 -58
  83. package/dist/mcp-server/tools/connections/AccessConnectionTool.d.ts +0 -21
  84. package/dist/mcp-server/tools/connections/AccessConnectionTool.js +0 -107
  85. package/dist/mcp-server/tools/connections/CallRemoteToolTool.d.ts +0 -22
  86. package/dist/mcp-server/tools/connections/CallRemoteToolTool.js +0 -124
  87. package/dist/mcp-server/tools/core/DeleteArtifactTool.d.ts +0 -11
  88. package/dist/mcp-server/tools/core/DeleteArtifactTool.js +0 -83
  89. package/dist/mcp-server/tools/core/EditArtifactMetadataTool.d.ts +0 -12
  90. package/dist/mcp-server/tools/core/EditArtifactMetadataTool.js +0 -173
  91. package/dist/mcp-server/tools/core/GetArtifactTool.d.ts +0 -13
  92. package/dist/mcp-server/tools/core/GetArtifactTool.js +0 -124
  93. package/dist/mcp-server/tools/core/GetArtifactVersionsTool.d.ts +0 -11
  94. package/dist/mcp-server/tools/core/GetArtifactVersionsTool.js +0 -63
  95. package/dist/mcp-server/tools/core/GetChunkTool.d.ts +0 -11
  96. package/dist/mcp-server/tools/core/GetChunkTool.js +0 -56
  97. package/dist/mcp-server/tools/core/ListArtifactsTool.d.ts +0 -11
  98. package/dist/mcp-server/tools/core/ListArtifactsTool.js +0 -84
  99. package/dist/mcp-server/tools/core/MoveArtifactTool.d.ts +0 -12
  100. package/dist/mcp-server/tools/core/MoveArtifactTool.js +0 -104
  101. package/dist/mcp-server/tools/core/PublishArtifactFromFileTool.d.ts +0 -15
  102. package/dist/mcp-server/tools/core/PublishArtifactFromFileTool.js +0 -277
  103. package/dist/mcp-server/tools/core/PublishArtifactTool.d.ts +0 -13
  104. package/dist/mcp-server/tools/core/PublishArtifactTool.js +0 -218
  105. package/dist/mcp-server/tools/core/SearchArtifactsTool.d.ts +0 -11
  106. package/dist/mcp-server/tools/core/SearchArtifactsTool.js +0 -137
  107. package/dist/mcp-server/tools/list/ListNamespaceController.d.ts +0 -1
  108. package/dist/mcp-server/tools/list/ListNamespaceController.js +0 -8
  109. package/dist/mcp-server/tools/memory-graph/GraphCreateEntitiesTool.d.ts +0 -14
  110. package/dist/mcp-server/tools/memory-graph/GraphCreateEntitiesTool.js +0 -58
  111. package/dist/mcp-server/tools/memory-graph/GraphCreateRelationshipsTool.d.ts +0 -14
  112. package/dist/mcp-server/tools/memory-graph/GraphCreateRelationshipsTool.js +0 -57
  113. package/dist/mcp-server/tools/memory-graph/GraphCreateTool.d.ts +0 -14
  114. package/dist/mcp-server/tools/memory-graph/GraphCreateTool.js +0 -64
  115. package/dist/mcp-server/tools/memory-graph/GraphDeleteEntitiesTool.d.ts +0 -14
  116. package/dist/mcp-server/tools/memory-graph/GraphDeleteEntitiesTool.js +0 -45
  117. package/dist/mcp-server/tools/memory-graph/GraphDeleteRelationshipsTool.d.ts +0 -14
  118. package/dist/mcp-server/tools/memory-graph/GraphDeleteRelationshipsTool.js +0 -45
  119. package/dist/mcp-server/tools/memory-graph/GraphExploreTool.d.ts +0 -14
  120. package/dist/mcp-server/tools/memory-graph/GraphExploreTool.js +0 -73
  121. package/dist/mcp-server/tools/memory-graph/GraphFindEntitiesTool.d.ts +0 -14
  122. package/dist/mcp-server/tools/memory-graph/GraphFindEntitiesTool.js +0 -68
  123. package/dist/mcp-server/tools/memory-graph/GraphFindPathsTool.d.ts +0 -14
  124. package/dist/mcp-server/tools/memory-graph/GraphFindPathsTool.js +0 -62
  125. package/dist/mcp-server/tools/memory-graph/GraphGetEntityTool.d.ts +0 -14
  126. package/dist/mcp-server/tools/memory-graph/GraphGetEntityTool.js +0 -49
  127. package/dist/mcp-server/tools/memory-graph/GraphGetRelationshipsTool.d.ts +0 -14
  128. package/dist/mcp-server/tools/memory-graph/GraphGetRelationshipsTool.js +0 -62
  129. package/dist/mcp-server/tools/memory-graph/GraphListTemplatesTool.d.ts +0 -14
  130. package/dist/mcp-server/tools/memory-graph/GraphListTemplatesTool.js +0 -34
  131. package/dist/mcp-server/tools/memory-graph/GraphListTool.d.ts +0 -14
  132. package/dist/mcp-server/tools/memory-graph/GraphListTool.js +0 -45
  133. package/dist/mcp-server/tools/memory-graph/GraphOpenTool.d.ts +0 -15
  134. package/dist/mcp-server/tools/memory-graph/GraphOpenTool.js +0 -50
  135. package/dist/mcp-server/tools/memory-graph/GraphProposeVocabularyTool.d.ts +0 -14
  136. package/dist/mcp-server/tools/memory-graph/GraphProposeVocabularyTool.js +0 -108
  137. package/dist/mcp-server/tools/memory-graph/GraphSearchTool.js +0 -94
  138. package/dist/mcp-server/tools/memory-graph/GraphTraverseTool.d.ts +0 -14
  139. package/dist/mcp-server/tools/memory-graph/GraphTraverseTool.js +0 -114
  140. package/dist/mcp-server/tools/memory-graph/GraphUpdateEntitiesTool.d.ts +0 -14
  141. package/dist/mcp-server/tools/memory-graph/GraphUpdateEntitiesTool.js +0 -58
  142. package/dist/mcp-server/tools/memory-graph/KnowledgeSetListTool.d.ts +0 -14
  143. package/dist/mcp-server/tools/memory-graph/KnowledgeSetListTool.js +0 -25
  144. package/dist/mcp-server/tools/memory-graph/KnowledgeSetOpenTool.d.ts +0 -14
  145. package/dist/mcp-server/tools/memory-graph/KnowledgeSetOpenTool.js +0 -31
  146. package/dist/mcp-server/tools/repository/CreateRepositoryTool.d.ts +0 -12
  147. package/dist/mcp-server/tools/repository/CreateRepositoryTool.js +0 -116
  148. package/dist/mcp-server/tools/repository/GetRepositoryTool.d.ts +0 -12
  149. package/dist/mcp-server/tools/repository/GetRepositoryTool.js +0 -85
  150. package/dist/mcp-server/tools/repository/UpdateRepositoryTool.d.ts +0 -12
  151. package/dist/mcp-server/tools/repository/UpdateRepositoryTool.js +0 -115
  152. package/dist/mcp-server/tools/sharepoint/SharePointListConnectionsTool.d.ts +0 -19
  153. package/dist/mcp-server/tools/sharepoint/SharePointListConnectionsTool.js +0 -90
  154. package/dist/mcp-server/tools/sharepoint/SharePointListFoldersTool.d.ts +0 -21
  155. package/dist/mcp-server/tools/sharepoint/SharePointListFoldersTool.js +0 -133
  156. package/dist/mcp-server/tools/sharepoint/SharePointReadFileTool.d.ts +0 -22
  157. package/dist/mcp-server/tools/sharepoint/SharePointReadFileTool.js +0 -146
  158. package/dist/mcp-server/tools/sharepoint/SharePointReadRelatedFileTool.d.ts +0 -18
  159. package/dist/mcp-server/tools/sharepoint/SharePointReadRelatedFileTool.js +0 -108
  160. package/dist/mcp-server/tools/sharepoint/SharePointSearchTool.d.ts +0 -22
  161. package/dist/mcp-server/tools/sharepoint/SharePointSearchTool.js +0 -125
  162. package/dist/mcp-server/tools/utility/AuthorIndexTool.d.ts +0 -11
  163. package/dist/mcp-server/tools/utility/AuthorIndexTool.js +0 -49
  164. package/dist/mcp-server/tools/utility/AuthorRecentsTool.d.ts +0 -11
  165. package/dist/mcp-server/tools/utility/AuthorRecentsTool.js +0 -49
  166. package/dist/mcp-server/tools/utility/ListRepositoriesTool.d.ts +0 -11
  167. package/dist/mcp-server/tools/utility/ListRepositoriesTool.js +0 -68
  168. package/dist/mcp-server/tools/utility/QuickstartTool.d.ts +0 -11
  169. package/dist/mcp-server/tools/utility/QuickstartTool.js +0 -36
  170. package/dist/mcp-server/types/UcmApiTypes.d.ts +0 -40
  171. package/dist/mcp-server/types/UcmApiTypes.js +0 -4
  172. package/dist/mcp-server/utils/McpErrorHandler.d.ts +0 -25
  173. package/dist/mcp-server/utils/McpErrorHandler.js +0 -67
  174. package/dist/mcp-server/utils/PathUtils.d.ts +0 -61
  175. package/dist/mcp-server/utils/PathUtils.js +0 -178
  176. package/dist/mcp-server/utils/ResponseChunker.d.ts +0 -25
  177. package/dist/mcp-server/utils/ResponseChunker.js +0 -79
  178. package/dist/mcp-server/utils/SharePointErrorHandler.d.ts +0 -34
  179. package/dist/mcp-server/utils/SharePointErrorHandler.js +0 -55
  180. package/dist/publish/package.json +0 -37
  181. package/dist/schemas/memory-graph-tool-schemas.d.ts +0 -789
  182. package/dist/schemas/memory-graph-tool-schemas.js +0 -181
  183. package/dist/tools/artifacts/GetArtifactController.d.ts +0 -34
  184. package/dist/tools/artifacts/GetArtifactController.js +0 -397
  185. package/dist/tools/artifacts/GetLatestController.d.ts +0 -39
  186. package/dist/tools/artifacts/GetLatestController.js +0 -469
  187. package/dist/tools/artifacts/ListVersionsController.d.ts +0 -43
  188. package/dist/tools/artifacts/ListVersionsController.js +0 -530
  189. package/dist/tools/artifacts/PublishArtifactController.d.ts +0 -37
  190. package/dist/tools/artifacts/PublishArtifactController.js +0 -605
  191. package/dist/tools/discovery/BrowseCategoriesController.d.ts +0 -25
  192. package/dist/tools/discovery/BrowseCategoriesController.js +0 -400
  193. package/dist/tools/discovery/FindByPurposeController.d.ts +0 -12
  194. package/dist/tools/discovery/FindByPurposeController.js +0 -131
  195. package/dist/tools/discovery/ListAuthorsController.d.ts +0 -20
  196. package/dist/tools/discovery/ListAuthorsController.js +0 -274
  197. package/dist/tools/discovery/SearchArtifactsController.d.ts +0 -14
  198. package/dist/tools/discovery/SearchArtifactsController.js +0 -226
  199. package/dist/tools/memory-graph/GraphGetStatsTool.d.ts +0 -11
  200. package/dist/tools/memory-graph/GraphGetStatsTool.js +0 -42
  201. package/dist/tools/memory-graph/GraphRemoveRelationshipsTool.d.ts +0 -11
  202. package/dist/tools/memory-graph/GraphRemoveRelationshipsTool.js +0 -47
  203. package/dist/tools/navigation/ExploreNamespaceController.d.ts +0 -35
  204. package/dist/tools/navigation/ExploreNamespaceController.js +0 -548
  205. package/dist/tools/repository/DeleteRepositoryGuidanceTool.d.ts +0 -13
  206. package/dist/tools/repository/DeleteRepositoryGuidanceTool.js +0 -93
  207. package/dist/tools/sharepoint/SharePointSignOutTool.d.ts +0 -22
  208. package/dist/tools/sharepoint/SharePointSignOutTool.js +0 -114
  209. package/dist/tools/utility/HealthCheckController.d.ts +0 -11
  210. package/dist/tools/utility/HealthCheckController.js +0 -60
  211. package/dist/tools/utility/SubmitFeedbackTool.d.ts +0 -16
  212. package/dist/tools/utility/SubmitFeedbackTool.js +0 -68
  213. package/dist/tools/utility/ValidatePathController.d.ts +0 -30
  214. package/dist/tools/utility/ValidatePathController.js +0 -465
  215. package/dist/utils/HttpsAgentFactory.d.ts +0 -21
  216. package/dist/utils/HttpsAgentFactory.js +0 -50
  217. package/dist/utils/ValidationUtils.d.ts +0 -10
  218. 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