@1mcp/agent 0.8.2 → 0.10.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 (52) hide show
  1. package/README.md +12 -12
  2. package/build/clients/clientManager.d.ts.map +1 -1
  3. package/build/clients/clientManager.js +3 -2
  4. package/build/clients/clientManager.js.map +1 -1
  5. package/build/config/transportConfig.d.ts.map +1 -1
  6. package/build/config/transportConfig.js +41 -19
  7. package/build/config/transportConfig.js.map +1 -1
  8. package/build/constants.d.ts +2 -13
  9. package/build/constants.d.ts.map +1 -1
  10. package/build/constants.js +2 -14
  11. package/build/constants.js.map +1 -1
  12. package/build/handlers/requestHandlers.d.ts.map +1 -1
  13. package/build/handlers/requestHandlers.js +44 -149
  14. package/build/handlers/requestHandlers.js.map +1 -1
  15. package/build/index.js +40 -23
  16. package/build/index.js.map +1 -1
  17. package/build/middleware/loggingMiddleware.d.ts.map +1 -1
  18. package/build/middleware/loggingMiddleware.js +18 -2
  19. package/build/middleware/loggingMiddleware.js.map +1 -1
  20. package/build/server/errorHandler.d.ts +3 -0
  21. package/build/server/errorHandler.d.ts.map +1 -0
  22. package/build/server/errorHandler.js +12 -0
  23. package/build/server/errorHandler.js.map +1 -0
  24. package/build/server/expressServer.d.ts +2 -1
  25. package/build/server/expressServer.d.ts.map +1 -1
  26. package/build/server/expressServer.js +106 -29
  27. package/build/server/expressServer.js.map +1 -1
  28. package/build/server/tagsExtractor.d.ts +7 -0
  29. package/build/server/tagsExtractor.d.ts.map +1 -0
  30. package/build/server/tagsExtractor.js +25 -0
  31. package/build/server/tagsExtractor.js.map +1 -0
  32. package/build/serverManager.d.ts +2 -2
  33. package/build/serverManager.d.ts.map +1 -1
  34. package/build/serverManager.js +2 -2
  35. package/build/serverManager.js.map +1 -1
  36. package/build/services/configReloadService.d.ts.map +1 -1
  37. package/build/services/configReloadService.js +4 -0
  38. package/build/services/configReloadService.js.map +1 -1
  39. package/build/types.d.ts +8 -5
  40. package/build/types.d.ts.map +1 -1
  41. package/build/types.js +1 -1
  42. package/build/types.js.map +1 -1
  43. package/build/utils/errorHandling.js +6 -6
  44. package/build/utils/errorHandling.js.map +1 -1
  45. package/build/utils/errorTypes.d.ts.map +1 -1
  46. package/build/utils/errorTypes.js +10 -7
  47. package/build/utils/errorTypes.js.map +1 -1
  48. package/build/utils/pagination.d.ts +31 -0
  49. package/build/utils/pagination.d.ts.map +1 -0
  50. package/build/utils/pagination.js +49 -0
  51. package/build/utils/pagination.js.map +1 -0
  52. package/package.json +5 -3
package/build/types.d.ts CHANGED
@@ -41,7 +41,7 @@ export interface StdioTransportConfig extends BaseTransportConfig {
41
41
  * Zod schema for transport configuration
42
42
  */
43
43
  export declare const transportConfigSchema: z.ZodObject<{
44
- type: z.ZodOptional<z.ZodEnum<["stdio", "sse", "http"]>>;
44
+ type: z.ZodOptional<z.ZodEnum<["stdio", "sse", "http", "streamableHttp"]>>;
45
45
  disabled: z.ZodOptional<z.ZodBoolean>;
46
46
  timeout: z.ZodOptional<z.ZodNumber>;
47
47
  tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
@@ -53,7 +53,7 @@ export declare const transportConfigSchema: z.ZodObject<{
53
53
  cwd: z.ZodOptional<z.ZodString>;
54
54
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
55
55
  }, "strip", z.ZodTypeAny, {
56
- type?: "http" | "sse" | "stdio" | undefined;
56
+ type?: "http" | "sse" | "stdio" | "streamableHttp" | undefined;
57
57
  url?: string | undefined;
58
58
  headers?: Record<string, string> | undefined;
59
59
  command?: string | undefined;
@@ -65,7 +65,7 @@ export declare const transportConfigSchema: z.ZodObject<{
65
65
  timeout?: number | undefined;
66
66
  tags?: string[] | undefined;
67
67
  }, {
68
- type?: "http" | "sse" | "stdio" | undefined;
68
+ type?: "http" | "sse" | "stdio" | "streamableHttp" | undefined;
69
69
  url?: string | undefined;
70
70
  headers?: Record<string, string> | undefined;
71
71
  command?: string | undefined;
@@ -85,12 +85,15 @@ export type TransportConfig = HTTPBasedTransportConfig | StdioTransportConfig;
85
85
  * Type for MCP server parameters derived from transport config schema
86
86
  */
87
87
  export type MCPServerParams = z.infer<typeof transportConfigSchema>;
88
+ export interface ServerInfoExtra {
89
+ readonly tags?: string[];
90
+ readonly enablePagination?: boolean;
91
+ }
88
92
  /**
89
93
  * Server information including tags
90
94
  */
91
- export interface ServerInfo {
95
+ export interface ServerInfo extends ServerInfoExtra {
92
96
  readonly server: Server;
93
- readonly tags?: string[];
94
97
  }
95
98
  /**
96
99
  * Enum representing possible client connection states
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBhC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,wBAAwB,GAAG,oBAAoB,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,uCAAuC;IACvC,SAAS,cAAc;IACvB,6BAA6B;IAC7B,YAAY,iBAAiB;IAC7B,kCAAkC;IAClC,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/build/types.js CHANGED
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  * Zod schema for transport configuration
4
4
  */
5
5
  export const transportConfigSchema = z.object({
6
- type: z.enum(['stdio', 'sse', 'http']).optional(),
6
+ type: z.enum(['stdio', 'sse', 'http', 'streamableHttp']).optional(),
7
7
  disabled: z.boolean().optional(),
8
8
  timeout: z.number().optional(),
9
9
  tags: z.array(z.string()).optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4CxB;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEpC,sBAAsB;IACtB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAExC,+BAA+B;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAoBH;;GAEG;AACH,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,uCAAuC;IACvC,uCAAuB,CAAA;IACvB,6BAA6B;IAC7B,6CAA6B,CAAA;IAC7B,kCAAkC;IAClC,+BAAe,CAAA;AACjB,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4CxB;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEpC,sBAAsB;IACtB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAExC,+BAA+B;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAwBH;;GAEG;AACH,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,uCAAuC;IACvC,uCAAuB,CAAA;IACvB,6BAA6B;IAC7B,6CAA6B,CAAA;IAC7B,kCAAkC;IAClC,+BAAe,CAAA;AACjB,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB"}
@@ -1,4 +1,4 @@
1
- import { ERROR_CODES } from '../constants.js';
1
+ import { ErrorCode } from '@modelcontextprotocol/sdk/types.js';
2
2
  import logger from '../logger/logger.js';
3
3
  import { MCPError, InvalidRequestError } from './errorTypes.js';
4
4
  /**
@@ -19,7 +19,7 @@ export function withErrorHandling(fn, errorMessage) {
19
19
  throw error;
20
20
  }
21
21
  // Convert other errors to MCPError
22
- throw new MCPError(errorMessage, ERROR_CODES.INTERNAL_SERVER_ERROR, {
22
+ throw new MCPError(errorMessage, ErrorCode.InternalError, {
23
23
  originalError: error instanceof Error ? error : new Error(String(error)),
24
24
  });
25
25
  }
@@ -36,9 +36,9 @@ export function normalizeError(error, errorMessage) {
36
36
  return error;
37
37
  }
38
38
  if (error instanceof Error) {
39
- return new MCPError(error.message || errorMessage, ERROR_CODES.INTERNAL_SERVER_ERROR);
39
+ return new MCPError(error.message || errorMessage, ErrorCode.InternalError);
40
40
  }
41
- return new MCPError(errorMessage, ERROR_CODES.INTERNAL_SERVER_ERROR);
41
+ return new MCPError(errorMessage, ErrorCode.InternalError);
42
42
  }
43
43
  /**
44
44
  * Checks if an error is a specific MCPError type
@@ -58,7 +58,7 @@ export function getErrorCode(error) {
58
58
  if (error instanceof MCPError) {
59
59
  return error.code;
60
60
  }
61
- return ERROR_CODES.INTERNAL_SERVER_ERROR;
61
+ return ErrorCode.InternalError;
62
62
  }
63
63
  /**
64
64
  * Gets the error message from an error
@@ -96,7 +96,7 @@ export function formatErrorResponse(error) {
96
96
  };
97
97
  }
98
98
  return {
99
- code: ERROR_CODES.INTERNAL_SERVER_ERROR,
99
+ code: ErrorCode.InternalError,
100
100
  message: error instanceof Error ? error.message : String(error),
101
101
  };
102
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandling.js","sourceRoot":"","sources":["../../src/utils/errorHandling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errorHandling.js","sourceRoot":"","sources":["../../src/utils/errorHandling.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errorTypes.d.ts","sourceRoot":"","sources":["../../src/utils/errorTypes.ts"],"names":[],"mappings":"AAEA,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,GAAG,CAAC;gBAEC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;CAMtD;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAI7C;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,oBAAqB,SAAQ,QAAQ;gBACpC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQnG;AAED,qBAAa,eAAgB,SAAQ,QAAQ;gBAC/B,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG;CAInD;AAED,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAIhD;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;CAIxC;AAED,MAAM,MAAM,YAAY,GACpB,qBAAqB,GACrB,mBAAmB,GACnB,oBAAoB,GACpB,eAAe,GACf,cAAc,GACd,mBAAmB,CAAC"}
1
+ {"version":3,"file":"errorTypes.d.ts","sourceRoot":"","sources":["../../src/utils/errorTypes.ts"],"names":[],"mappings":"AAEA,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,GAAG,CAAC;gBAEC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;CAMtD;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAI7C;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,oBAAqB,SAAQ,QAAQ;gBACpC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOnG;AAED,qBAAa,eAAgB,SAAQ,QAAQ;gBAC/B,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG;CAInD;AAED,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAIhD;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;CAIxC;AAED,MAAM,MAAM,YAAY,GACpB,qBAAqB,GACrB,mBAAmB,GACnB,oBAAoB,GACpB,eAAe,GACf,cAAc,GACd,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ERROR_CODES } from '../constants.js';
1
+ import { ErrorCode } from '@modelcontextprotocol/sdk/types.js';
2
2
  export class MCPError extends Error {
3
3
  code;
4
4
  data;
@@ -11,37 +11,40 @@ export class MCPError extends Error {
11
11
  }
12
12
  export class ClientConnectionError extends MCPError {
13
13
  constructor(clientName, cause) {
14
- super(`Failed to connect to client ${clientName}: ${cause.message}`, ERROR_CODES.TRANSPORT_NOT_FOUND, { cause });
14
+ super(`Failed to connect to client ${clientName}: ${cause.message}`, ErrorCode.InvalidParams, { cause });
15
15
  this.name = 'ClientConnectionError';
16
16
  }
17
17
  }
18
18
  export class ClientNotFoundError extends MCPError {
19
19
  constructor(clientName) {
20
- super(`Client not found: ${clientName}`, ERROR_CODES.TRANSPORT_NOT_FOUND);
20
+ super(`Client not found: ${clientName}`, ErrorCode.InvalidParams);
21
21
  this.name = 'ClientNotFoundError';
22
22
  }
23
23
  }
24
24
  export class ClientOperationError extends MCPError {
25
25
  constructor(clientName, operation, cause, context) {
26
- super(`Operation ${operation} failed on client ${clientName}: ${cause.message}`, ERROR_CODES.INTERNAL_SERVER_ERROR, { cause, context });
26
+ super(`Operation ${operation} failed on client ${clientName}: ${cause.message}`, ErrorCode.InternalError, {
27
+ cause,
28
+ context,
29
+ });
27
30
  this.name = 'ClientOperationError';
28
31
  }
29
32
  }
30
33
  export class ValidationError extends MCPError {
31
34
  constructor(message, validationErrors) {
32
- super(message, ERROR_CODES.INVALID_PARAMS, { validationErrors });
35
+ super(message, ErrorCode.InvalidParams, { validationErrors });
33
36
  this.name = 'ValidationError';
34
37
  }
35
38
  }
36
39
  export class TransportError extends MCPError {
37
40
  constructor(transportName, cause) {
38
- super(`Transport error for ${transportName}: ${cause.message}`, ERROR_CODES.CLIENT_CONNECTION_ERROR, { cause });
41
+ super(`Transport error for ${transportName}: ${cause.message}`, ErrorCode.InvalidParams, { cause });
39
42
  this.name = 'TransportError';
40
43
  }
41
44
  }
42
45
  export class InvalidRequestError extends MCPError {
43
46
  constructor(message, data) {
44
- super(message, ERROR_CODES.INVALID_PARAMS, data);
47
+ super(message, ErrorCode.InvalidParams, data);
45
48
  this.name = 'InvalidRequestError';
46
49
  }
47
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errorTypes.js","sourceRoot":"","sources":["../../src/utils/errorTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,IAAI,CAAS;IACb,IAAI,CAAO;IAEX,YAAY,OAAe,EAAE,IAAY,EAAE,IAAU;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,UAAkB,EAAE,KAAY;QAC1C,KAAK,CAAC,+BAA+B,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACjH,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,UAAkB;QAC5B,KAAK,CAAC,qBAAqB,UAAU,EAAE,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,QAAQ;IAChD,YAAY,UAAkB,EAAE,SAAiB,EAAE,KAAY,EAAE,OAAiC;QAChG,KAAK,CACH,aAAa,SAAS,qBAAqB,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,EACzE,WAAW,CAAC,qBAAqB,EACjC,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe,EAAE,gBAAqB;QAChD,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,YAAY,aAAqB,EAAE,KAAY;QAC7C,KAAK,CAAC,uBAAuB,aAAa,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChH,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,OAAe,EAAE,IAAU;QACrC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"errorTypes.js","sourceRoot":"","sources":["../../src/utils/errorTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,IAAI,CAAS;IACb,IAAI,CAAO;IAEX,YAAY,OAAe,EAAE,IAAY,EAAE,IAAU;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,UAAkB,EAAE,KAAY;QAC1C,KAAK,CAAC,+BAA+B,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACzG,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,UAAkB;QAC5B,KAAK,CAAC,qBAAqB,UAAU,EAAE,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,QAAQ;IAChD,YAAY,UAAkB,EAAE,SAAiB,EAAE,KAAY,EAAE,OAAiC;QAChG,KAAK,CAAC,aAAa,SAAS,qBAAqB,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,aAAa,EAAE;YACxG,KAAK;YACL,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe,EAAE,gBAAqB;QAChD,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,aAAa,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1C,YAAY,aAAqB,EAAE,KAAY;QAC7C,KAAK,CAAC,uBAAuB,aAAa,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACpG,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,OAAe,EAAE,IAAU;QACrC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
2
+ import { RequestOptions } from '@modelcontextprotocol/sdk/shared/protocol.js';
3
+ import { Resource, ResourceTemplate, Tool, Prompt } from '@modelcontextprotocol/sdk/types.js';
4
+ import { ClientInfo, Clients } from '../types.js';
5
+ interface PaginationParams {
6
+ [x: string]: unknown;
7
+ _meta?: {
8
+ [x: string]: unknown;
9
+ progressToken?: string | number | undefined;
10
+ } | undefined;
11
+ cursor?: string | undefined;
12
+ }
13
+ interface PaginationResult<T> {
14
+ items: T[];
15
+ nextCursor?: string;
16
+ }
17
+ interface PaginationResponse {
18
+ resources?: Resource[];
19
+ resourceTemplates?: ResourceTemplate[];
20
+ tools?: Tool[];
21
+ prompts?: Prompt[];
22
+ nextCursor?: string;
23
+ }
24
+ export declare function parseCursor(cursor?: string): {
25
+ clientName: string;
26
+ actualCursor?: string;
27
+ };
28
+ export declare function encodeCursor(clientName: string, nextCursor?: string): string | undefined;
29
+ export declare function handlePagination<T>(clients: Clients, params: PaginationParams, callClientMethod: (client: Client, params: unknown, opts: RequestOptions) => Promise<PaginationResponse>, transformResult: (client: ClientInfo, result: PaginationResponse) => T[], enablePagination: boolean): Promise<PaginationResult<T>>;
30
+ export {};
31
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/utils/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGlD,UAAU,gBAAgB;IACxB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACrB,KAAK,CAAC,EACF;QACE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;KAC7C,GACD,SAAS,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,UAAU,gBAAgB,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAM1F;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,GAAE,MAAW,GAAG,MAAM,GAAG,SAAS,CAE5F;AAiCD,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,kBAAkB,CAAC,EACxG,eAAe,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,KAAK,CAAC,EAAE,EACxE,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAiC9B"}
@@ -0,0 +1,49 @@
1
+ import logger from '../logger/logger.js';
2
+ export function parseCursor(cursor) {
3
+ if (!cursor) {
4
+ return { clientName: '' };
5
+ }
6
+ const [clientName, actualCursor] = Buffer.from(cursor, 'base64').toString('utf-8').split(':');
7
+ return { clientName, actualCursor };
8
+ }
9
+ export function encodeCursor(clientName, nextCursor = '') {
10
+ return Buffer.from(`${clientName}:${nextCursor}`).toString('base64');
11
+ }
12
+ async function fetchAllItemsForClient(clientInfo, params, callClientMethod, transformResult) {
13
+ logger.info(`Fetching all items for client ${clientInfo.name}`);
14
+ const items = [];
15
+ let result = await callClientMethod(clientInfo.client, params, { timeout: clientInfo.transport.timeout });
16
+ items.push(...transformResult(clientInfo, result));
17
+ while (result.nextCursor) {
18
+ logger.info(`Fetching next page for client ${clientInfo.name} with cursor ${result.nextCursor}`);
19
+ result = await callClientMethod(clientInfo.client, { ...params, cursor: result.nextCursor }, { timeout: clientInfo.transport.timeout });
20
+ items.push(...transformResult(clientInfo, result));
21
+ }
22
+ return items;
23
+ }
24
+ function getNextClientCursor(currentClientName, clientNames) {
25
+ const currentIndex = clientNames.indexOf(currentClientName);
26
+ const nextClientName = currentIndex === clientNames.length - 1 ? undefined : clientNames[currentIndex + 1];
27
+ return nextClientName ? encodeCursor(nextClientName, undefined) : undefined;
28
+ }
29
+ export async function handlePagination(clients, params, callClientMethod, transformResult, enablePagination) {
30
+ const { cursor, ...clientParams } = params;
31
+ const clientNames = Object.keys(clients);
32
+ if (!enablePagination) {
33
+ const allItems = await Promise.all(clientNames.map((clientName) => fetchAllItemsForClient(clients[clientName], clientParams, callClientMethod, transformResult)));
34
+ return { items: allItems.flat() };
35
+ }
36
+ const { clientName, actualCursor } = parseCursor(cursor);
37
+ const targetClientName = clientName || clientNames[0];
38
+ const clientInfo = clients[targetClientName];
39
+ if (!clientInfo) {
40
+ return { items: [] };
41
+ }
42
+ const result = await callClientMethod(clientInfo.client, { ...clientParams, cursor: actualCursor }, { timeout: clientInfo.transport.timeout });
43
+ const transformedItems = transformResult(clientInfo, result);
44
+ const nextCursor = result.nextCursor
45
+ ? encodeCursor(targetClientName, result.nextCursor)
46
+ : getNextClientCursor(targetClientName, clientNames);
47
+ return { items: transformedItems, nextCursor };
48
+ }
49
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/utils/pagination.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1mcp/agent",
3
- "version": "0.8.2",
3
+ "version": "0.10.0",
4
4
  "description": "One MCP server to aggregate them all - A unified Model Context Protocol server implementation",
5
5
  "keywords": [
6
6
  "mcp",
@@ -48,7 +48,8 @@
48
48
  ]
49
49
  },
50
50
  "dependencies": {
51
- "@modelcontextprotocol/sdk": "^1.7.0",
51
+ "@modelcontextprotocol/sdk": "^1.10.1",
52
+ "body-parser": "^2.2.0",
52
53
  "express": "^5.1.0",
53
54
  "uuid": "^11.1.0",
54
55
  "winston": "^3.17.0",
@@ -60,8 +61,9 @@
60
61
  "devDependencies": {
61
62
  "@eslint/js": "^9.22.0",
62
63
  "@testing-library/jest-dom": "^6.6.3",
64
+ "@types/body-parser": "^1.19.5",
63
65
  "@types/express": "^5.0.0",
64
- "@types/node": "^22.13.10",
66
+ "@types/node": "^24.0.0",
65
67
  "@types/uuid": "^10.0.0",
66
68
  "@types/yargs": "^17.0.33",
67
69
  "@typescript-eslint/eslint-plugin": "^8.27.0",