@1mcp/agent 0.4.0 → 0.8.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 (81) hide show
  1. package/README.md +57 -2
  2. package/build/capabilities/capabilityManager.d.ts +34 -0
  3. package/build/capabilities/capabilityManager.d.ts.map +1 -0
  4. package/build/capabilities/capabilityManager.js +13 -5
  5. package/build/capabilities/capabilityManager.js.map +1 -0
  6. package/build/client.d.ts +25 -0
  7. package/build/client.d.ts.map +1 -0
  8. package/build/client.js +3 -10
  9. package/build/client.js.map +1 -0
  10. package/build/clients/clientManager.d.ts +40 -0
  11. package/build/clients/clientManager.d.ts.map +1 -0
  12. package/build/clients/clientManager.js +45 -21
  13. package/build/clients/clientManager.js.map +1 -0
  14. package/build/config/configManager.d.ts +54 -0
  15. package/build/config/configManager.d.ts.map +1 -0
  16. package/build/config/configManager.js +1 -0
  17. package/build/config/configManager.js.map +1 -0
  18. package/build/config/transportConfig.d.ts +7 -0
  19. package/build/config/transportConfig.d.ts.map +1 -0
  20. package/build/config/transportConfig.js +1 -0
  21. package/build/config/transportConfig.js.map +1 -0
  22. package/build/constants.d.ts +43 -0
  23. package/build/constants.d.ts.map +1 -0
  24. package/build/constants.js +19 -4
  25. package/build/constants.js.map +1 -0
  26. package/build/handlers/notificationHandlers.d.ts +14 -0
  27. package/build/handlers/notificationHandlers.d.ts.map +1 -0
  28. package/build/handlers/notificationHandlers.js +1 -0
  29. package/build/handlers/notificationHandlers.js.map +1 -0
  30. package/build/handlers/requestHandlers.d.ts +10 -0
  31. package/build/handlers/requestHandlers.d.ts.map +1 -0
  32. package/build/handlers/requestHandlers.js +45 -30
  33. package/build/handlers/requestHandlers.js.map +1 -0
  34. package/build/index.d.ts +3 -0
  35. package/build/index.d.ts.map +1 -0
  36. package/build/index.js +6 -1
  37. package/build/index.js.map +1 -0
  38. package/build/logger/logger.d.ts +13 -0
  39. package/build/logger/logger.d.ts.map +1 -0
  40. package/build/logger/logger.js +7 -33
  41. package/build/logger/logger.js.map +1 -0
  42. package/build/middleware/loggingMiddleware.d.ts +6 -0
  43. package/build/middleware/loggingMiddleware.d.ts.map +1 -0
  44. package/build/middleware/loggingMiddleware.js +1 -0
  45. package/build/middleware/loggingMiddleware.js.map +1 -0
  46. package/build/server/expressServer.d.ts +10 -0
  47. package/build/server/expressServer.d.ts.map +1 -0
  48. package/build/server/expressServer.js +2 -11
  49. package/build/server/expressServer.js.map +1 -0
  50. package/build/server.d.ts +7 -0
  51. package/build/server.d.ts.map +1 -0
  52. package/build/server.js +1 -0
  53. package/build/server.js.map +1 -0
  54. package/build/serverManager.d.ts +25 -0
  55. package/build/serverManager.d.ts.map +1 -0
  56. package/build/serverManager.js +4 -2
  57. package/build/serverManager.js.map +1 -0
  58. package/build/services/configReloadService.d.ts +37 -0
  59. package/build/services/configReloadService.d.ts.map +1 -0
  60. package/build/services/configReloadService.js +1 -0
  61. package/build/services/configReloadService.js.map +1 -0
  62. package/build/types.d.ts +129 -0
  63. package/build/types.d.ts.map +1 -0
  64. package/build/types.js +1 -0
  65. package/build/types.js.map +1 -0
  66. package/build/utils/clientFiltering.d.ts +37 -0
  67. package/build/utils/clientFiltering.d.ts.map +1 -0
  68. package/build/utils/clientFiltering.js +73 -0
  69. package/build/utils/clientFiltering.js.map +1 -0
  70. package/build/utils/errorHandling.d.ts +62 -0
  71. package/build/utils/errorHandling.d.ts.map +1 -0
  72. package/build/utils/errorHandling.js +1 -0
  73. package/build/utils/errorHandling.js.map +1 -0
  74. package/build/utils/errorTypes.d.ts +25 -0
  75. package/build/utils/errorTypes.d.ts.map +1 -0
  76. package/build/utils/errorTypes.js +1 -0
  77. package/build/utils/errorTypes.js.map +1 -0
  78. package/package.json +28 -11
  79. package/build/config/configManager.test.js +0 -106
  80. package/build/logger/mcpTransport.js +0 -150
  81. package/build/serverManager.test.js +0 -158
@@ -1,11 +1,10 @@
1
- import { CallToolRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, ListResourceTemplatesRequestSchema, SubscribeRequestSchema, UnsubscribeRequestSchema, SetLevelRequestSchema, CallToolResultSchema, } from '@modelcontextprotocol/sdk/types.js';
2
- import logger from '../logger/logger.js';
3
- import { setLogLevel } from '../logger/logger.js';
1
+ import { CallToolRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, ListResourceTemplatesRequestSchema, SubscribeRequestSchema, UnsubscribeRequestSchema, SetLevelRequestSchema, CallToolResultSchema, CreateMessageRequestSchema, ListRootsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
2
+ import logger, { setLogLevel } from '../logger/logger.js';
4
3
  import { MCP_URI_SEPARATOR, MCP_SERVER_NAME, ERROR_CODES } from '../constants.js';
5
- import { executeClientOperation } from '../clients/clientManager.js';
4
+ import { executeClientOperation, executeServerOperation } from '../clients/clientManager.js';
6
5
  import { parseUri, withErrorHandling } from '../utils/errorHandling.js';
7
6
  import { MCPError } from '../utils/errorTypes.js';
8
- import { filterClientsByTags } from '../utils/clientFiltering.js';
7
+ import { filterClients, byCapabilities, byTags } from '../utils/clientFiltering.js';
9
8
  /**
10
9
  * Sends a partial failure notification to inform clients about backend failures
11
10
  * @param server The MCP server instance
@@ -29,6 +28,25 @@ function sendPartialFailureNotification(serverInfo, operation, failedClients) {
29
28
  },
30
29
  });
31
30
  }
31
+ /**
32
+ * Registers server-specific request handlers
33
+ * @param clients Record of client instances
34
+ * @param serverInfo The MCP server instance
35
+ */
36
+ function registerServerRequestHandlers(clients, serverInfo) {
37
+ Object.entries(clients).forEach(([_, clientInfo]) => {
38
+ clientInfo.client.setRequestHandler(CreateMessageRequestSchema, withErrorHandling(async (request) => {
39
+ return executeServerOperation(serverInfo, (_server) => _server.server.createMessage(request.params, {
40
+ timeout: clientInfo.transport.timeout,
41
+ }));
42
+ }, 'Error creating message'));
43
+ clientInfo.client.setRequestHandler(ListRootsRequestSchema, withErrorHandling(async (request) => {
44
+ return executeServerOperation(serverInfo, (_server) => _server.server.listRoots(request.params, {
45
+ timeout: clientInfo.transport.timeout,
46
+ }));
47
+ }, 'Error listing roots'));
48
+ });
49
+ }
32
50
  /**
33
51
  * Registers all request handlers based on available capabilities
34
52
  * @param clients Record of client instances
@@ -36,24 +54,20 @@ function sendPartialFailureNotification(serverInfo, operation, failedClients) {
36
54
  * @param capabilities The server capabilities
37
55
  * @param tags Array of tags to filter clients by
38
56
  */
39
- export function registerRequestHandlers(clients, serverInfo, capabilities) {
57
+ export function registerRequestHandlers(clients, serverInfo) {
40
58
  // Register logging level handler
41
59
  serverInfo.server.setRequestHandler(SetLevelRequestSchema, async (request) => {
42
60
  setLogLevel(request.params.level);
43
61
  return {};
44
62
  });
45
- // Register resource-related handlers if capability is available
46
- if (capabilities.resources) {
47
- registerResourceHandlers(clients, serverInfo);
48
- }
49
- // Register tool-related handlers if capability is available
50
- if (capabilities.tools) {
51
- registerToolHandlers(clients, serverInfo);
52
- }
53
- // Register prompt-related handlers if capability is available
54
- if (capabilities.prompts) {
55
- registerPromptHandlers(clients, serverInfo);
56
- }
63
+ // Register resource-related handlers
64
+ registerResourceHandlers(clients, serverInfo);
65
+ // Register tool-related handlers
66
+ registerToolHandlers(clients, serverInfo);
67
+ // Register prompt-related handlers
68
+ registerPromptHandlers(clients, serverInfo);
69
+ // Register server-specific request handlers
70
+ registerServerRequestHandlers(clients, serverInfo);
57
71
  }
58
72
  /**
59
73
  * Registers resource-related request handlers
@@ -65,7 +79,7 @@ function registerResourceHandlers(clients, serverInfo) {
65
79
  serverInfo.server.setRequestHandler(ListResourcesRequestSchema, withErrorHandling(async (request) => {
66
80
  const resources = [];
67
81
  const failedClients = [];
68
- const filteredClients = filterClientsByTags(clients, serverInfo.tags);
82
+ const filteredClients = filterClients(byCapabilities({ resources: {} }), byTags(serverInfo.tags))(clients);
69
83
  for (const [name, clientInfo] of Object.entries(filteredClients)) {
70
84
  logger.info(`Listing resources for ${name}`);
71
85
  try {
@@ -84,9 +98,9 @@ function registerResourceHandlers(clients, serverInfo) {
84
98
  failedClients.push({ name, error: error instanceof Error ? error.message : String(error) });
85
99
  }
86
100
  }
87
- // If all clients failed, throw an error
101
+ // If all capable clients failed, throw an error
88
102
  if (failedClients.length === Object.keys(filteredClients).length && Object.keys(filteredClients).length > 0) {
89
- throw new MCPError('Failed to list resources from all clients', ERROR_CODES.INTERNAL_SERVER_ERROR, {
103
+ throw new MCPError('Failed to list resources from all capable clients', ERROR_CODES.INTERNAL_SERVER_ERROR, {
90
104
  failedClients,
91
105
  });
92
106
  }
@@ -100,8 +114,8 @@ function registerResourceHandlers(clients, serverInfo) {
100
114
  serverInfo.server.setRequestHandler(ListResourceTemplatesRequestSchema, withErrorHandling(async (request) => {
101
115
  const resourceTemplates = [];
102
116
  const failedClients = [];
103
- const filteredClients = filterClientsByTags(clients, serverInfo.tags);
104
- for (const [name, clientInfo] of Object.entries(filteredClients)) {
117
+ const capableClients = filterClients(byCapabilities({ resources: {} }), byTags(serverInfo.tags))(clients);
118
+ for (const [name, clientInfo] of Object.entries(capableClients)) {
105
119
  logger.info(`Listing resource templates for ${name}`);
106
120
  try {
107
121
  const result = await clientInfo.client.listResourceTemplates(request.params, {
@@ -120,7 +134,7 @@ function registerResourceHandlers(clients, serverInfo) {
120
134
  }
121
135
  }
122
136
  // If all clients failed, throw an error
123
- if (failedClients.length === Object.keys(filteredClients).length && Object.keys(filteredClients).length > 0) {
137
+ if (failedClients.length === Object.keys(capableClients).length && Object.keys(capableClients).length > 0) {
124
138
  throw new MCPError('Failed to list resource templates from all clients', ERROR_CODES.INTERNAL_SERVER_ERROR, {
125
139
  failedClients,
126
140
  });
@@ -163,8 +177,8 @@ function registerToolHandlers(clients, serverInfo) {
163
177
  serverInfo.server.setRequestHandler(ListToolsRequestSchema, withErrorHandling(async (request) => {
164
178
  const tools = [];
165
179
  const failedClients = [];
166
- const filteredClients = filterClientsByTags(clients, serverInfo.tags);
167
- for (const [name, clientInfo] of Object.entries(filteredClients)) {
180
+ const capableClients = filterClients(byCapabilities({ tools: {} }), byTags(serverInfo.tags))(clients);
181
+ for (const [name, clientInfo] of Object.entries(capableClients)) {
168
182
  logger.info(`Listing tools for ${name}`);
169
183
  try {
170
184
  const result = await clientInfo.client.listTools(request.params, {
@@ -182,7 +196,7 @@ function registerToolHandlers(clients, serverInfo) {
182
196
  }
183
197
  }
184
198
  // If all clients failed, throw an error
185
- if (failedClients.length === Object.keys(filteredClients).length && Object.keys(filteredClients).length > 0) {
199
+ if (failedClients.length === Object.keys(capableClients).length && Object.keys(capableClients).length > 0) {
186
200
  throw new MCPError('Failed to list tools from all clients', ERROR_CODES.INTERNAL_SERVER_ERROR, {
187
201
  failedClients,
188
202
  });
@@ -211,8 +225,8 @@ function registerPromptHandlers(clients, serverInfo) {
211
225
  serverInfo.server.setRequestHandler(ListPromptsRequestSchema, withErrorHandling(async (request) => {
212
226
  const prompts = [];
213
227
  const failedClients = [];
214
- const filteredClients = filterClientsByTags(clients, serverInfo.tags);
215
- for (const [name, clientInfo] of Object.entries(filteredClients)) {
228
+ const capableClients = filterClients(byCapabilities({ prompts: {} }), byTags(serverInfo.tags))(clients);
229
+ for (const [name, clientInfo] of Object.entries(capableClients)) {
216
230
  logger.info(`Listing prompts for ${name}`);
217
231
  try {
218
232
  const result = await clientInfo.client.listPrompts(request.params);
@@ -228,7 +242,7 @@ function registerPromptHandlers(clients, serverInfo) {
228
242
  }
229
243
  }
230
244
  // If all clients failed, throw an error
231
- if (failedClients.length === Object.keys(filteredClients).length && Object.keys(filteredClients).length > 0) {
245
+ if (failedClients.length === Object.keys(capableClients).length && Object.keys(capableClients).length > 0) {
232
246
  throw new MCPError('Failed to list prompts from all clients', ERROR_CODES.INTERNAL_SERVER_ERROR, {
233
247
  failedClients,
234
248
  });
@@ -245,3 +259,4 @@ function registerPromptHandlers(clients, serverInfo) {
245
259
  return executeClientOperation(clients, clientName, (clientInfo) => clientInfo.client.getPrompt({ ...request.params, name: promptName }));
246
260
  }, 'Error getting prompt'));
247
261
  }
262
+ //# sourceMappingURL=requestHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestHandlers.js","sourceRoot":"","sources":["../../src/handlers/requestHandlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/build/index.js CHANGED
@@ -3,7 +3,7 @@ import yargs from 'yargs';
3
3
  import { hideBin } from 'yargs/helpers';
4
4
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
5
5
  import { setupServer } from './server.js';
6
- import logger from './logger/logger.js';
6
+ import logger, { enableConsoleTransport } from './logger/logger.js';
7
7
  import configReloadService from './services/configReloadService.js';
8
8
  import { ConfigManager } from './config/configManager.js';
9
9
  import { ExpressServer } from './server/expressServer.js';
@@ -11,6 +11,7 @@ import { PORT, HOST } from './constants.js';
11
11
  // Parse command line arguments
12
12
  const argv = yargs(hideBin(process.argv))
13
13
  .usage('Usage: $0 [options]')
14
+ .env('ONE_MCP') // Enable environment variable parsing with ONE_MCP prefix
14
15
  .options({
15
16
  transport: {
16
17
  alias: 't',
@@ -78,6 +79,9 @@ function setupGracefulShutdown(serverManager) {
78
79
  */
79
80
  async function main() {
80
81
  try {
82
+ if (argv.transport === 'sse') {
83
+ enableConsoleTransport();
84
+ }
81
85
  ConfigManager.getInstance(argv.config);
82
86
  // Initialize server and get server manager with custom config path if provided
83
87
  const serverManager = await setupServer();
@@ -113,3 +117,4 @@ main().catch((error) => {
113
117
  logger.error('Server error:', error);
114
118
  process.exit(1);
115
119
  });
120
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,MAAM,EAAE,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5C,+BAA+B;AAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACtC,KAAK,CAAC,qBAAqB,CAAC;KAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,0DAA0D;KACzE,OAAO,CAAC;IACP,SAAS,EAAE;QACT,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,sCAAsC;QAChD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;QACzB,OAAO,EAAE,KAAK;KACf;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,yDAAyD;QACnE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,yDAAyD;QACnE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,MAAM,EAAE;QACN,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,yBAAyB;QACnC,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,SAAS;KACnB;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,0CAA0C;QACpD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,SAAS;KACnB;CACF,CAAC;KACD,IAAI,EAAE;KACN,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;KAClB,SAAS,EAAE,CAAC;AAEf;;GAEG;AACH,SAAS,qBAAqB,CAAC,aAA4B;IACzD,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAEvC,wCAAwC;QACxC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAE3B,uBAAuB;QACvB,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7E,IAAI,CAAC;gBACH,SAAS,EAAE,KAAK,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,SAAS,KAAK,KAAK,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,+CAA+C;IAC/C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC7B,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QAED,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvC,+EAA+E;QAC/E,MAAM,aAAa,GAAG,MAAM,WAAW,EAAE,CAAC;QAE1C,oCAAoC;QACpC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAC/B,sBAAsB;YACtB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAC7C,+CAA+C;YAC/C,IAAI,IAA0B,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;oBAC/D,IAAI,GAAG,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;YACD,MAAM,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,yBAAyB;YACzB,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;YACvD,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import winston from 'winston';
2
+ declare const logger: winston.Logger;
3
+ /**
4
+ * Enable the console transport
5
+ */
6
+ export declare function enableConsoleTransport(): void;
7
+ /**
8
+ * Set the log level for the logger
9
+ * @param mcpLevel The MCP log level to set
10
+ */
11
+ export declare function setLogLevel(mcpLevel: string): void;
12
+ export default logger;
13
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAiC9B,QAAA,MAAM,MAAM,gBAYV,CAAC;AAEH;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CASlD;AAED,eAAe,MAAM,CAAC"}
@@ -1,12 +1,4 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
1
  import winston from 'winston';
4
- import { MCPTransport } from './mcpTransport.js';
5
- // Ensure logs directory exists
6
- const logsDir = path.join(process.cwd(), 'logs');
7
- if (!fs.existsSync(logsDir)) {
8
- fs.mkdirSync(logsDir, { recursive: true });
9
- }
10
2
  // Map MCP log levels to Winston log levels
11
3
  const MCP_TO_WINSTON_LEVEL = {
12
4
  debug: 'debug',
@@ -33,36 +25,21 @@ const logger = winston.createLogger({
33
25
  level: 'info',
34
26
  format: customFormat,
35
27
  transports: [
28
+ // Add a silent transport by default to prevent "no transports" warnings
36
29
  new winston.transports.Console({
30
+ silent: true,
37
31
  format: consoleFormat,
38
32
  }),
39
33
  ],
40
34
  // Prevent logger from exiting on error
41
35
  exitOnError: false,
42
36
  });
43
- // Store a reference to the MCP transport
44
- let mcpTransport = null;
45
- /**
46
- * Adds the MCP transport to the logger
47
- * @param server The MCP server instance
48
- * @param loggerName Optional name for the logger in MCP notifications
49
- */
50
- export function addMCPTransport(server, loggerName) {
51
- // Add the MCP transport to the logger
52
- mcpTransport = new MCPTransport({
53
- server,
54
- loggerName: loggerName || '1mcp',
55
- level: 'info',
56
- });
57
- logger.add(mcpTransport);
58
- }
59
37
  /**
60
- * Set the connection status of the MCP transport
61
- * @param connected Whether the server is connected
38
+ * Enable the console transport
62
39
  */
63
- export function setMCPTransportConnected(connected) {
64
- if (mcpTransport) {
65
- mcpTransport.setConnected(connected);
40
+ export function enableConsoleTransport() {
41
+ if (logger.transports.length > 0) {
42
+ logger.transports[0].silent = false;
66
43
  }
67
44
  }
68
45
  /**
@@ -77,9 +54,6 @@ export function setLogLevel(mcpLevel) {
77
54
  logger.transports.forEach((transport) => {
78
55
  transport.level = winstonLevel;
79
56
  });
80
- // Also set the level for the MCP transport if it exists
81
- if (mcpTransport) {
82
- mcpTransport.level = winstonLevel;
83
- }
84
57
  }
85
58
  export default logger;
59
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ /**
3
+ * Enhances an MCP server with request/response logging
4
+ */
5
+ export declare function enhanceServerWithLogging(server: Server): void;
6
+ //# sourceMappingURL=loggingMiddleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loggingMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/loggingMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AA8InE;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CA2B7D"}
@@ -112,3 +112,4 @@ export function enhanceServerWithLogging(server) {
112
112
  return originalNotification(notification);
113
113
  };
114
114
  }
115
+ //# sourceMappingURL=loggingMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loggingMiddleware.js","sourceRoot":"","sources":["../../src/middleware/loggingMiddleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ServerManager } from '../serverManager.js';
2
+ export declare class ExpressServer {
3
+ private app;
4
+ private serverManager;
5
+ constructor(serverManager: ServerManager);
6
+ private setupMiddleware;
7
+ private setupRoutes;
8
+ start(port: number, host: string): void;
9
+ }
10
+ //# sourceMappingURL=expressServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressServer.d.ts","sourceRoot":"","sources":["../../src/server/expressServer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,qBAAa,aAAa;IACxB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,aAAa,EAAE,aAAa;IAOxC,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,WAAW;IAwEZ,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;CAK/C"}
@@ -1,6 +1,6 @@
1
1
  import express from 'express';
2
2
  import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
3
- import logger, { setMCPTransportConnected } from '../logger/logger.js';
3
+ import logger from '../logger/logger.js';
4
4
  import { SSE_ENDPOINT, MESSAGES_ENDPOINT, ERROR_CODES } from '../constants.js';
5
5
  export class ExpressServer {
6
6
  app;
@@ -45,19 +45,9 @@ export class ExpressServer {
45
45
  }
46
46
  // Connect the transport using the server manager
47
47
  await this.serverManager.connectTransport(transport, transport.sessionId, tags);
48
- // Update MCP transport connection status when a client connects
49
- if (this.serverManager.getActiveTransportsCount() === 1) {
50
- setMCPTransportConnected(true);
51
- logger.info('First client connected, enabling MCP logging transport');
52
- }
53
48
  transport.onclose = () => {
54
49
  this.serverManager.disconnectTransport(transport.sessionId);
55
50
  logger.info('transport closed', transport.sessionId);
56
- // Update MCP transport connection status when all clients disconnect
57
- if (this.serverManager.getActiveTransportsCount() === 0) {
58
- setMCPTransportConnected(false);
59
- logger.info('All clients disconnected, disabling MCP logging transport');
60
- }
61
51
  };
62
52
  }
63
53
  catch (error) {
@@ -107,3 +97,4 @@ export class ExpressServer {
107
97
  });
108
98
  }
109
99
  }
100
+ //# sourceMappingURL=expressServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressServer.js","sourceRoot":"","sources":["../../src/server/expressServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ServerManager } from './serverManager.js';
2
+ /**
3
+ * Main function to set up the MCP server
4
+ */
5
+ declare function setupServer(): Promise<ServerManager>;
6
+ export { setupServer };
7
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD;;GAEG;AACH,iBAAe,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CAwBnD;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
package/build/server.js CHANGED
@@ -26,3 +26,4 @@ async function setupServer() {
26
26
  }
27
27
  }
28
28
  export { setupServer };
29
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;GAEG;AACH,KAAK,UAAU,WAAW;IACxB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,kBAAkB,EAAE,CAAC;QACnE,uCAAuC;QACvC,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC;QAEpE,oCAAoC;QACpC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC;QAE9D,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,CAC7C,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,EAAE,EACtD,EAAE,YAAY,EAAE,uBAAuB,EAAE,EACzC,OAAO,EACP,UAAU,CACX,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;QAClD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
2
+ import { Clients, ServerInfo } from './types.js';
3
+ export declare class ServerManager {
4
+ private static instance;
5
+ private servers;
6
+ private serverConfig;
7
+ private serverCapabilities;
8
+ private clients;
9
+ private transports;
10
+ private constructor();
11
+ static getInstance(config: {
12
+ name: string;
13
+ version: string;
14
+ }, capabilities: {
15
+ capabilities: Record<string, unknown>;
16
+ }, clients: Clients, transports: Record<string, Transport>): ServerManager;
17
+ connectTransport(transport: Transport, sessionId: string, tags?: string[]): Promise<void>;
18
+ disconnectTransport(sessionId: string): void;
19
+ getTransport(sessionId: string): Transport | undefined;
20
+ getTransports(): Map<string, Transport>;
21
+ getClientTransports(): Record<string, Transport>;
22
+ getActiveTransportsCount(): number;
23
+ getServer(sessionId: string): ServerInfo | undefined;
24
+ }
25
+ //# sourceMappingURL=serverManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverManager.d.ts","sourceRoot":"","sources":["../src/serverManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAK1E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,kBAAkB,CAA4C;IAEtE,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,UAAU,CAAiC;IAEnD,OAAO;WAYO,WAAW,CACvB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EACzC,YAAY,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EACvD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GACpC,aAAa;IAOH,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/F,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ5C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAItD,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;IAUvC,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;IAIhD,wBAAwB,IAAI,MAAM;IAIlC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;CAG5D"}
@@ -26,12 +26,13 @@ export class ServerManager {
26
26
  try {
27
27
  // Create a new server instance for this transport
28
28
  const server = new Server(this.serverConfig, this.serverCapabilities);
29
- // Enhance server with logging middleware
30
- enhanceServerWithLogging(server);
29
+ // Create server info object first
31
30
  const serverInfo = {
32
31
  server,
33
32
  tags,
34
33
  };
34
+ // Enhance server with logging middleware
35
+ enhanceServerWithLogging(server);
35
36
  // Set up capabilities for this server instance
36
37
  await setupCapabilities(this.clients, serverInfo);
37
38
  // Initialize the configuration reload service
@@ -76,3 +77,4 @@ export class ServerManager {
76
77
  return this.servers.get(sessionId);
77
78
  }
78
79
  }
80
+ //# sourceMappingURL=serverManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverManager.js","sourceRoot":"","sources":["../src/serverManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { ServerInfo, EnhancedTransport } from '../types.js';
2
+ /**
3
+ * Service to handle dynamic configuration reloading
4
+ */
5
+ export declare class ConfigReloadService {
6
+ private static instance;
7
+ private serverInfo;
8
+ private currentTransports;
9
+ private isReloading;
10
+ /**
11
+ * Private constructor to enforce singleton pattern
12
+ */
13
+ private constructor();
14
+ /**
15
+ * Get the singleton instance of the ConfigReloadService
16
+ * @returns The ConfigReloadService instance
17
+ */
18
+ static getInstance(): ConfigReloadService;
19
+ /**
20
+ * Initialize the service with the server instance
21
+ * @param serverInfo The MCP server instance
22
+ * @param initialTransports The initial transports
23
+ */
24
+ initialize(serverInfo: ServerInfo, initialTransports: Record<string, EnhancedTransport>): void;
25
+ /**
26
+ * Handle configuration changes
27
+ * @param newConfig The new transport configuration
28
+ */
29
+ private handleConfigChange;
30
+ /**
31
+ * Stop the service and clean up resources
32
+ */
33
+ stop(): void;
34
+ }
35
+ declare const _default: ConfigReloadService;
36
+ export default _default;
37
+ //# sourceMappingURL=configReloadService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configReloadService.d.ts","sourceRoot":"","sources":["../../src/services/configReloadService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAK7E;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAC7C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,WAAW,CAAS;IAE5B;;OAEG;IACH,OAAO;IAEP;;;OAGG;WACW,WAAW,IAAI,mBAAmB;IAOhD;;;;OAIG;IACI,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,IAAI;IAerG;;;OAGG;YACW,kBAAkB;IA0ChC;;OAEG;IACI,IAAI,IAAI,IAAI;CAMpB;;AAED,wBAAiD"}
@@ -91,3 +91,4 @@ export class ConfigReloadService {
91
91
  }
92
92
  }
93
93
  export default ConfigReloadService.getInstance();
94
+ //# sourceMappingURL=configReloadService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configReloadService.js","sourceRoot":"","sources":["../../src/services/configReloadService.ts"],"names":[],"mappings":"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"}