@ampeco/public-api-mcp 0.3.0 → 3.98.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 (42) hide show
  1. package/README.md +61 -0
  2. package/dist/build/index.js +52 -7
  3. package/dist/build/index.js.map +1 -1
  4. package/dist/build/types.d.ts +24 -2
  5. package/dist/build/types.d.ts.map +1 -1
  6. package/dist/generated/build-stats.json +11 -5
  7. package/dist/generated/endpoints.json +398 -29
  8. package/dist/generated/response-schemas.json +85111 -0
  9. package/dist/generated/schemas.d.ts +326 -141
  10. package/dist/generated/schemas.d.ts.map +1 -1
  11. package/dist/generated/schemas.js +77 -18
  12. package/dist/generated/schemas.js.map +1 -1
  13. package/dist/generated/schemas.ts +79 -18
  14. package/dist/server/factory.d.ts +2 -2
  15. package/dist/server/factory.d.ts.map +1 -1
  16. package/dist/server/factory.js +129 -27
  17. package/dist/server/factory.js.map +1 -1
  18. package/dist/server/factory.test.js +5 -5
  19. package/dist/server/factory.test.js.map +1 -1
  20. package/dist/server/http.d.ts.map +1 -1
  21. package/dist/server/http.js +4 -2
  22. package/dist/server/http.js.map +1 -1
  23. package/dist/server/index.js +5 -2
  24. package/dist/server/index.js.map +1 -1
  25. package/dist/server/loader.d.ts +6 -1
  26. package/dist/server/loader.d.ts.map +1 -1
  27. package/dist/server/loader.js +9 -0
  28. package/dist/server/loader.js.map +1 -1
  29. package/dist/server/resources/handlers.js +2 -2
  30. package/dist/server/resources/handlers.js.map +1 -1
  31. package/dist/server/stdio.d.ts.map +1 -1
  32. package/dist/server/stdio.js +4 -2
  33. package/dist/server/stdio.js.map +1 -1
  34. package/dist/server/utils/response-transformer.d.ts +78 -0
  35. package/dist/server/utils/response-transformer.d.ts.map +1 -0
  36. package/dist/server/utils/response-transformer.js +423 -0
  37. package/dist/server/utils/response-transformer.js.map +1 -0
  38. package/dist/server/utils/response-transformer.test.d.ts +2 -0
  39. package/dist/server/utils/response-transformer.test.d.ts.map +1 -0
  40. package/dist/server/utils/response-transformer.test.js +103 -0
  41. package/dist/server/utils/response-transformer.test.js.map +1 -0
  42. package/package.json +2 -1
@@ -300,6 +300,19 @@ export const flexibilityAssetCreateActivationRequestBody = z.object({
300
300
 
301
301
  // POST /public-api/actions/id-tag/v1.0/{idTag}/reissue-emaid
302
302
 
303
+ // POST /public-api/actions/installer-job/v1.0/{installerJob}/assign-charge-points
304
+ export const assignInstallerJobChargePointsBody = z.object({
305
+ chargePointIds: z.array(z.number().int()).optional(),
306
+ chargingZoneId: z.number().int().optional(),
307
+ locationId: z.number().int().optional()
308
+ });
309
+
310
+ // POST /public-api/actions/installer-job/v1.0/{installerJob}/change-status
311
+ export const changeInstallerJobStatusBody = z.object({
312
+ status: z.enum(["new", "in_progress", "completed", "failed"]),
313
+ outcomeDetails: z.string().optional()
314
+ });
315
+
303
316
  // POST /public-api/actions/locations/v2.0/{location}/check-booking-availability
304
317
  export const locationCheckBookingAvailabilityBody = z.object({
305
318
  startAfter: z.string().datetime(),
@@ -2718,7 +2731,7 @@ export const createPaymentTerminalBody = z.union([z.union([z.object({
2718
2731
  id: z.number().int().optional(),
2719
2732
  name: z.string(),
2720
2733
  integrationId: z.number().int(),
2721
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]),
2734
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]),
2722
2735
  operatorId: z.number().int(),
2723
2736
  chargingZoneId: z.number().int().optional(),
2724
2737
  chargePointId: z.number().int().optional(),
@@ -2745,7 +2758,7 @@ export const createPaymentTerminalBody = z.union([z.union([z.object({
2745
2758
  id: z.number().int().optional(),
2746
2759
  name: z.string(),
2747
2760
  integrationId: z.number().int(),
2748
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]),
2761
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]),
2749
2762
  operatorId: z.number().int(),
2750
2763
  chargingZoneId: z.number().int().optional(),
2751
2764
  chargePointId: z.number().int().optional(),
@@ -2755,7 +2768,7 @@ export const createPaymentTerminalBody = z.union([z.union([z.object({
2755
2768
  id: z.number().int().optional(),
2756
2769
  name: z.string(),
2757
2770
  integrationId: z.number().int(),
2758
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]),
2771
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]),
2759
2772
  operatorId: z.number().int(),
2760
2773
  chargingZoneId: z.number().int().optional(),
2761
2774
  chargePointId: z.number().int().optional(),
@@ -2767,7 +2780,7 @@ export const createPaymentTerminalBody = z.union([z.union([z.object({
2767
2780
  id: z.number().int().optional(),
2768
2781
  name: z.string(),
2769
2782
  integrationId: z.number().int(),
2770
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]),
2783
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]),
2771
2784
  operatorId: z.number().int(),
2772
2785
  chargingZoneId: z.number().int().optional(),
2773
2786
  chargePointId: z.number().int().optional(),
@@ -2778,7 +2791,7 @@ export const createPaymentTerminalBody = z.union([z.union([z.object({
2778
2791
  id: z.number().int().optional(),
2779
2792
  name: z.string(),
2780
2793
  integrationId: z.number().int(),
2781
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]),
2794
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]),
2782
2795
  operatorId: z.number().int(),
2783
2796
  chargingZoneId: z.number().int().optional(),
2784
2797
  chargePointId: z.number().int().optional(),
@@ -2788,7 +2801,7 @@ export const createPaymentTerminalBody = z.union([z.union([z.object({
2788
2801
  id: z.number().int().optional(),
2789
2802
  name: z.string(),
2790
2803
  integrationId: z.number().int(),
2791
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]),
2804
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]),
2792
2805
  operatorId: z.number().int(),
2793
2806
  chargingZoneId: z.number().int().optional(),
2794
2807
  chargePointId: z.number().int().optional(),
@@ -2805,7 +2818,7 @@ export const createPaymentTerminalBody = z.union([z.union([z.object({
2805
2818
  id: z.number().int().optional(),
2806
2819
  name: z.string(),
2807
2820
  integrationId: z.number().int(),
2808
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]),
2821
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]),
2809
2822
  operatorId: z.number().int(),
2810
2823
  chargingZoneId: z.number().int().optional(),
2811
2824
  chargePointId: z.number().int().optional(),
@@ -2815,7 +2828,7 @@ export const createPaymentTerminalBody = z.union([z.union([z.object({
2815
2828
  id: z.number().int().optional(),
2816
2829
  name: z.string(),
2817
2830
  integrationId: z.number().int(),
2818
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]),
2831
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]),
2819
2832
  operatorId: z.number().int(),
2820
2833
  invoiceFields: z.array(z.object({
2821
2834
  field: z.string(),
@@ -2826,7 +2839,7 @@ export const createPaymentTerminalBody = z.union([z.union([z.object({
2826
2839
  id: z.number().int().optional(),
2827
2840
  name: z.string(),
2828
2841
  integrationId: z.number().int(),
2829
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]),
2842
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]),
2830
2843
  operatorId: z.number().int(),
2831
2844
  chargingZoneId: z.number().int().optional(),
2832
2845
  chargePointId: z.number().int().optional(),
@@ -2846,6 +2859,33 @@ export const createPaymentTerminalBody = z.union([z.union([z.object({
2846
2859
  adyenApiKey: z.string(),
2847
2860
  supportedLanguages: z.array(z.string()).optional(),
2848
2861
  networkStatusMonitoringEnabled: z.boolean().optional()
2862
+ }), z.object({
2863
+ id: z.number().int().optional(),
2864
+ name: z.string(),
2865
+ integrationId: z.number().int(),
2866
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]),
2867
+ operatorId: z.number().int(),
2868
+ chargingZoneId: z.number().int().optional(),
2869
+ chargePointId: z.number().int().optional(),
2870
+ adminToken: z.string().optional(),
2871
+ networkStatus: z.enum(["online", "offline", "unknown"]).optional(),
2872
+ phone: z.string(),
2873
+ defaultLanguage: z.string(),
2874
+ presentCardOnStopSession: z.boolean().optional(),
2875
+ info: z.array(z.object({
2876
+ locale: z.string().optional(),
2877
+ translation: z.string().optional()
2878
+ })),
2879
+ currencyCode: z.string().optional(),
2880
+ countryCode: z.string().optional(),
2881
+ serialNumber: z.string().optional(),
2882
+ externalId: z.string().optional(),
2883
+ supportedLanguages: z.array(z.string()).optional(),
2884
+ bundle: z.object({
2885
+ version: z.string().optional(),
2886
+ downloadUrl: z.string().optional()
2887
+ }),
2888
+ networkStatusMonitoringEnabled: z.boolean().optional()
2849
2889
  })]);
2850
2890
 
2851
2891
  // GET /public-api/resources/payment-terminals/v1.0/{paymentTerminal}
@@ -2863,7 +2903,7 @@ export const updatePaymentTerminalBody = z.union([z.union([z.object({
2863
2903
  id: z.number().int().optional(),
2864
2904
  name: z.string().optional(),
2865
2905
  integrationId: z.number().int().optional(),
2866
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]).optional(),
2906
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]).optional(),
2867
2907
  operatorId: z.number().int().optional(),
2868
2908
  chargingZoneId: z.number().int().optional(),
2869
2909
  chargePointId: z.number().int().optional(),
@@ -2884,7 +2924,7 @@ export const updatePaymentTerminalBody = z.union([z.union([z.object({
2884
2924
  id: z.number().int().optional(),
2885
2925
  name: z.string().optional(),
2886
2926
  integrationId: z.number().int().optional(),
2887
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]).optional(),
2927
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]).optional(),
2888
2928
  operatorId: z.number().int().optional(),
2889
2929
  chargingZoneId: z.number().int().optional(),
2890
2930
  chargePointId: z.number().int().optional(),
@@ -2894,7 +2934,7 @@ export const updatePaymentTerminalBody = z.union([z.union([z.object({
2894
2934
  id: z.number().int().optional(),
2895
2935
  name: z.string().optional(),
2896
2936
  integrationId: z.number().int().optional(),
2897
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]).optional(),
2937
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]).optional(),
2898
2938
  operatorId: z.number().int().optional(),
2899
2939
  chargingZoneId: z.number().int().optional(),
2900
2940
  chargePointId: z.number().int().optional(),
@@ -2906,7 +2946,7 @@ export const updatePaymentTerminalBody = z.union([z.union([z.object({
2906
2946
  id: z.number().int().optional(),
2907
2947
  name: z.string().optional(),
2908
2948
  integrationId: z.number().int().optional(),
2909
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]).optional(),
2949
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]).optional(),
2910
2950
  operatorId: z.number().int().optional(),
2911
2951
  chargingZoneId: z.number().int().optional(),
2912
2952
  chargePointId: z.number().int().optional(),
@@ -2917,7 +2957,7 @@ export const updatePaymentTerminalBody = z.union([z.union([z.object({
2917
2957
  id: z.number().int().optional(),
2918
2958
  name: z.string().optional(),
2919
2959
  integrationId: z.number().int().optional(),
2920
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]).optional(),
2960
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]).optional(),
2921
2961
  operatorId: z.number().int().optional(),
2922
2962
  chargingZoneId: z.number().int().optional(),
2923
2963
  chargePointId: z.number().int().optional(),
@@ -2927,7 +2967,7 @@ export const updatePaymentTerminalBody = z.union([z.union([z.object({
2927
2967
  id: z.number().int().optional(),
2928
2968
  name: z.string().optional(),
2929
2969
  integrationId: z.number().int().optional(),
2930
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]).optional(),
2970
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]).optional(),
2931
2971
  operatorId: z.number().int().optional(),
2932
2972
  chargingZoneId: z.number().int().optional(),
2933
2973
  chargePointId: z.number().int().optional(),
@@ -2944,7 +2984,7 @@ export const updatePaymentTerminalBody = z.union([z.union([z.object({
2944
2984
  id: z.number().int().optional(),
2945
2985
  name: z.string().optional(),
2946
2986
  integrationId: z.number().int().optional(),
2947
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]).optional(),
2987
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]).optional(),
2948
2988
  operatorId: z.number().int().optional(),
2949
2989
  chargingZoneId: z.number().int().optional(),
2950
2990
  chargePointId: z.number().int().optional(),
@@ -2954,13 +2994,13 @@ export const updatePaymentTerminalBody = z.union([z.union([z.object({
2954
2994
  id: z.number().int().optional(),
2955
2995
  name: z.string().optional(),
2956
2996
  integrationId: z.number().int().optional(),
2957
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]).optional(),
2997
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]).optional(),
2958
2998
  operatorId: z.number().int().optional()
2959
2999
  }), z.object({
2960
3000
  id: z.number().int().optional(),
2961
3001
  name: z.string().optional(),
2962
3002
  integrationId: z.number().int().optional(),
2963
- terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles"]).optional(),
3003
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]).optional(),
2964
3004
  operatorId: z.number().int().optional(),
2965
3005
  chargingZoneId: z.number().int().optional(),
2966
3006
  chargePointId: z.number().int().optional(),
@@ -2979,6 +3019,27 @@ export const updatePaymentTerminalBody = z.union([z.union([z.object({
2979
3019
  adyenApiKey: z.string().optional(),
2980
3020
  supportedLanguages: z.array(z.string()).optional(),
2981
3021
  networkStatusMonitoringEnabled: z.boolean().optional()
3022
+ }), z.object({
3023
+ id: z.number().int().optional(),
3024
+ name: z.string().optional(),
3025
+ integrationId: z.number().int().optional(),
3026
+ terminalType: z.enum(["Payter", "Valina", "Crane", "Ampeco", "Nayax", "Embedded", "Pax", "Windcave", "Web portal", "AdyenCastles", "Printec Castles"]).optional(),
3027
+ operatorId: z.number().int().optional(),
3028
+ chargingZoneId: z.number().int().optional(),
3029
+ chargePointId: z.number().int().optional(),
3030
+ adminToken: z.string().optional(),
3031
+ networkStatus: z.enum(["online", "offline", "unknown"]).optional(),
3032
+ phone: z.string().optional(),
3033
+ defaultLanguage: z.string().optional(),
3034
+ presentCardOnStopSession: z.boolean().optional(),
3035
+ info: z.array(z.object({
3036
+ locale: z.string().optional(),
3037
+ translation: z.string().optional()
3038
+ })).optional(),
3039
+ serialNumber: z.string().optional(),
3040
+ externalId: z.string().optional(),
3041
+ supportedLanguages: z.array(z.string()).optional(),
3042
+ networkStatusMonitoringEnabled: z.boolean().optional()
2982
3043
  })]);
2983
3044
 
2984
3045
  // GET /public-api/resources/provisioning-certificates/v2.0
@@ -3,10 +3,10 @@
3
3
  * Creates and configures MCP server instances with shared logic for resources, tools, and prompts
4
4
  */
5
5
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
- import type { BuildOutput } from '../build/types.js';
6
+ import type { BuildOutput, ResponseSchemaMap } from '../build/types.js';
7
7
  import type { ServerOptions } from './types.js';
8
8
  /**
9
9
  * Create and configure the MCP server
10
10
  */
11
- export declare function createServer(endpoints: BuildOutput, options: ServerOptions): McpServer;
11
+ export declare function createServer(endpoints: BuildOutput, responseSchemas: ResponseSchemaMap, options: ServerOptions): McpServer;
12
12
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,CAwTtF"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAqBhD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,WAAW,EACtB,eAAe,EAAE,iBAAiB,EAClC,OAAO,EAAE,aAAa,GACrB,SAAS,CA2aX"}
@@ -10,11 +10,32 @@ import { getPromptContent } from './prompts.js';
10
10
  import { getNativeResourceInstructions, getToolEmulationInstructions } from './instructions.js';
11
11
  import { registerNativeResources } from './resources/native.js';
12
12
  import { registerEmulationTools } from './resources/tools.js';
13
+ import { transformResponse } from './utils/response-transformer.js';
14
+ /**
15
+ * Helper to get response schema for an endpoint
16
+ */
17
+ function getResponseSchema(responseSchemas, operationId, statusCode) {
18
+ if (!operationId || !responseSchemas[operationId]) {
19
+ return null;
20
+ }
21
+ return responseSchemas[operationId][statusCode]?.schema || null;
22
+ }
13
23
  /**
14
24
  * Create and configure the MCP server
15
25
  */
16
- export function createServer(endpoints, options) {
26
+ export function createServer(endpoints, responseSchemas, options) {
17
27
  const { hostname, bearerToken, emulateResourcesViaTools = false, } = options;
28
+ // Validate hostname
29
+ if (!hostname) {
30
+ throw new Error('Hostname is required but was not provided');
31
+ }
32
+ // Validate hostname is a valid URL
33
+ try {
34
+ new URL(hostname);
35
+ }
36
+ catch (error) {
37
+ throw new Error(`Invalid hostname URL: ${hostname}`);
38
+ }
18
39
  const server = new McpServer({
19
40
  name: 'public-api-mcp',
20
41
  version: '0.1.0',
@@ -39,15 +60,60 @@ export function createServer(endpoints, options) {
39
60
  // Register the API request tool
40
61
  server.tool('api_request', `Make an authenticated HTTP request to any active API endpoint from the OpenAPI specification. Deprecated endpoints cannot be called and will return an error. Authentication is handled automatically using the Bearer token from the MCP request. The target API hostname is: ${hostname}
41
62
 
42
- IMPORTANT - Pagination: Always prefer cursor-based pagination when available. For list endpoints that support both offset and cursor pagination, you MUST use cursor pagination by including an empty "cursor" query parameter (cursor="") in your initial request to engage cursor-based pagination. Subsequent requests should use the cursor value returned in the response.`, {
63
+ **Smart Response Transformation** (Enabled by Default):
64
+ When responses are large (>20KB), automatic transformation is applied to:
65
+ - Preserve ALL pagination metadata (cursor, total, hasMore, nextPage)
66
+ - Provide statistical summaries (min, max, avg, median, percentiles)
67
+ - Include categorical distributions (status counts, type breakdowns)
68
+ - Sample representative items for context
69
+
70
+ This ensures you can:
71
+ ✓ Navigate paginated results reliably
72
+ ✓ Understand data distributions without loading all items
73
+ ✓ Make data-driven decisions with statistical insights
74
+ ✓ Reduce token consumption by 80-95% for large responses
75
+
76
+ Field types are automatically detected from OpenAPI schemas (zero configuration required).
77
+
78
+ To disable transformation: Set transform_response=false
79
+
80
+ **Pagination Best Practice**:
81
+ Always prefer cursor-based pagination when available. For list endpoints that support both offset and cursor pagination, include an empty "cursor" query parameter (cursor="") in your initial request to engage cursor-based pagination.`, {
43
82
  endpoint: z.string().describe('The API endpoint path (e.g., "/users/{id}")'),
44
83
  method: z.enum(['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS']).describe('HTTP method'),
45
84
  path_params: z.preprocess((val) => (val === null || val === undefined || val === '' ? {} : val), z.record(z.any()).default({})).optional().describe('Path parameter values as key-value pairs (optional)'),
46
85
  query_params: z.preprocess((val) => (val === null || val === undefined || val === '' ? {} : val), z.record(z.any()).default({})).optional().describe('Query string parameters as key-value pairs (optional)'),
47
86
  body: z.preprocess((val) => (val === null || val === undefined || val === '' ? undefined : val), z.any()).optional().describe('Request body for POST/PUT/PATCH requests (optional)'),
48
87
  headers: z.preprocess((val) => (val === null || val === undefined || val === '' ? {} : val), z.record(z.string()).default({})).optional().describe('Additional HTTP headers (optional)'),
88
+ // NEW: Smart transformation parameters
89
+ transform_response: z.boolean()
90
+ .default(true)
91
+ .optional()
92
+ .describe('Enable smart response transformation for large responses. When enabled, large array-based responses ' +
93
+ 'are automatically transformed to include: (1) pagination metadata, (2) statistical summaries ' +
94
+ '(min/max/avg/distribution), and (3) sample items. This dramatically reduces token usage while ' +
95
+ 'preserving critical navigation and analytical information. Default: true'),
96
+ transform_options: z.object({
97
+ maxResponseSize: z.number()
98
+ .min(1000)
99
+ .max(1000000)
100
+ .optional()
101
+ .describe('Maximum response size in bytes before transformation is applied (default: 20000, range: 1000-1000000)'),
102
+ sampleSize: z.number()
103
+ .int()
104
+ .min(1)
105
+ .max(20)
106
+ .optional()
107
+ .describe('Number of sample items to include in transformed response (default: 5, range: 1-20)'),
108
+ computeStats: z.boolean()
109
+ .optional()
110
+ .describe('Whether to compute numeric statistics and categorical distributions (default: true)'),
111
+ includeDistribution: z.boolean()
112
+ .optional()
113
+ .describe('Whether to include categorical field distributions (default: true)'),
114
+ }).optional().describe('Advanced transformation options (optional). Field selection is automatic via OpenAPI schema detection.'),
49
115
  }, async (args) => {
50
- const { endpoint, method, path_params = {}, query_params = {}, body, headers = {}, } = args;
116
+ const { endpoint, method, path_params = {}, query_params = {}, body, headers = {}, transform_response = true, transform_options = {}, } = args;
51
117
  // Check if endpoint is deprecated
52
118
  const endpointDef = endpoints.endpoints.find((e) => e.path === endpoint && e.method.toUpperCase() === method.toUpperCase());
53
119
  if (endpointDef?.deprecated) {
@@ -111,38 +177,74 @@ IMPORTANT - Pagination: Always prefer cursor-based pagination when available. Fo
111
177
  }
112
178
  // Log the response
113
179
  console.error(`[API Response] ${response.status} ${response.statusText}`);
114
- // Prepare structured response with truncation
115
- const responseObject = {
116
- status: response.status,
117
- body: responseBody,
118
- };
119
- let responseText = JSON.stringify(responseObject, null, 2);
120
- // Truncate if response exceeds 20000 characters (leaving room for metadata)
121
- const MAX_RESPONSE_LENGTH = 20000;
122
- let wasTruncated = false;
123
- if (responseText.length > MAX_RESPONSE_LENGTH) {
124
- wasTruncated = true;
125
- const originalLength = responseText.length;
126
- responseText = responseText.substring(0, MAX_RESPONSE_LENGTH);
127
- // Try to truncate at a reasonable boundary (end of a line)
128
- const lastNewlineIndex = responseText.lastIndexOf('\n');
129
- if (lastNewlineIndex > MAX_RESPONSE_LENGTH * 0.9) {
130
- responseText = responseText.substring(0, lastNewlineIndex);
180
+ // NEW: Apply smart transformation if enabled
181
+ let finalResponse;
182
+ if (transform_response && responseBody && typeof responseBody === "object") {
183
+ // Smart 2XX response schema selection
184
+ let responseSchema = null;
185
+ const statusCode = response.status.toString();
186
+ // Try exact status code first
187
+ responseSchema = getResponseSchema(responseSchemas, endpointDef?.operationId, statusCode);
188
+ // Fallback: try common success codes in priority order
189
+ if (!responseSchema) {
190
+ const successCodes = ["200", "201", "202", "204", "2XX", "default"];
191
+ for (const code of successCodes) {
192
+ responseSchema = getResponseSchema(responseSchemas, endpointDef?.operationId, code);
193
+ if (responseSchema) {
194
+ console.error(`[Transformer] Using schema for status ${code} (fallback from ${statusCode})`);
195
+ break;
196
+ }
197
+ }
198
+ }
199
+ else {
200
+ console.error(`[Transformer] Using schema for status ${statusCode}`);
201
+ }
202
+ if (!responseSchema) {
203
+ console.error(`[Transformer] No schema found for ${method} ${endpoint} ` +
204
+ `(operationId: ${endpointDef?.operationId}, status: ${statusCode})`);
131
205
  }
132
- // Add truncation notice
133
- responseText += `\n\n... [Response truncated - original size: ${originalLength} characters, showing first ${responseText.length} characters]\n\nNote: The response was too large to display in full. This is typically because the API returned detailed error information or a large dataset. Check the status code and the visible portion of the response for key information.`;
206
+ // Apply transformation
207
+ const transformResult = transformResponse(responseBody, {
208
+ ...transform_options,
209
+ enabled: true,
210
+ }, responseSchema // Pass the selected schema
211
+ );
212
+ finalResponse = {
213
+ ...transformResult,
214
+ };
215
+ // Log transformation results
216
+ if (transformResult.data._transformation.applied) {
217
+ const reduction = (((transformResult.data._transformation.originalSize -
218
+ transformResult.data._transformation.transformedSize) /
219
+ transformResult.data._transformation.originalSize) *
220
+ 100).toFixed(1);
221
+ console.error(`[Transformer] Applied transformation: ${transformResult.data._transformation.originalSize} → ` +
222
+ `${transformResult.data._transformation.transformedSize} bytes (${reduction}% reduction)`);
223
+ }
224
+ }
225
+ else {
226
+ finalResponse = {
227
+ status: response.status,
228
+ body: responseBody,
229
+ };
134
230
  }
135
- const toolResponse = {
231
+ let responseText = JSON.stringify(finalResponse, null, 2);
232
+ // Fallback truncation (should rarely trigger now)
233
+ const MAX_RESPONSE_LENGTH = 50000; // Increased since transformation reduces size
234
+ if (responseText.length > MAX_RESPONSE_LENGTH) {
235
+ console.error(`[Warning] Response still exceeds limit after transformation ` +
236
+ `(${responseText.length} chars, status ${response.status})`);
237
+ responseText = responseText.substring(0, MAX_RESPONSE_LENGTH) + "\n\n... [Response truncated]";
238
+ }
239
+ // Return structured response
240
+ return {
136
241
  content: [
137
242
  {
138
- type: 'text',
243
+ type: "text",
139
244
  text: responseText,
140
245
  },
141
246
  ],
142
247
  };
143
- console.error(`[Tool Response] Returning response with ${responseText.length} characters${wasTruncated ? ' (truncated)' : ''}`);
144
- // Return structured response
145
- return toolResponse;
146
248
  }
147
249
  catch (error) {
148
250
  const errorMessage = error instanceof Error ? error.message : String(error);
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ describe('createServer', () => {
31
31
  buildDuration: 100,
32
32
  },
33
33
  };
34
- const server = createServer(mockEndpoints, {
34
+ const server = createServer(mockEndpoints, {}, {
35
35
  bearerToken: 'test-token',
36
36
  hostname: 'http://test.example.com',
37
37
  });
@@ -54,7 +54,7 @@ describe('createServer', () => {
54
54
  buildDuration: 0,
55
55
  },
56
56
  };
57
- const server = createServer(mockEndpoints, {
57
+ const server = createServer(mockEndpoints, {}, {
58
58
  bearerToken: 'test-token',
59
59
  hostname: 'http://test.example.com',
60
60
  });
@@ -76,7 +76,7 @@ describe('createServer', () => {
76
76
  buildDuration: 0,
77
77
  },
78
78
  };
79
- const server = createServer(mockEndpoints, {
79
+ const server = createServer(mockEndpoints, {}, {
80
80
  bearerToken: 'my-token',
81
81
  hostname: 'https://api.example.com',
82
82
  });
@@ -98,7 +98,7 @@ describe('createServer', () => {
98
98
  buildDuration: 0,
99
99
  },
100
100
  };
101
- const server = createServer(mockEndpoints, {
101
+ const server = createServer(mockEndpoints, {}, {
102
102
  bearerToken: 'my-token',
103
103
  hostname: 'https://api.example.com',
104
104
  emulateResourcesViaTools: true,
@@ -123,7 +123,7 @@ describe('createServer', () => {
123
123
  buildDuration: 0,
124
124
  },
125
125
  };
126
- const server = createServer(mockEndpoints, {
126
+ const server = createServer(mockEndpoints, {}, {
127
127
  bearerToken: 'my-token',
128
128
  hostname: 'https://api.example.com',
129
129
  });
@@ -1 +1 @@
1
- {"version":3,"file":"factory.test.js","sourceRoot":"","sources":["../../src/server/factory.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.test.js","sourceRoot":"","sources":["../../src/server/factory.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyH/E"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4H/E"}
@@ -6,7 +6,7 @@ import express from 'express';
6
6
  import cors from 'cors';
7
7
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
8
8
  import { createServer } from './factory.js';
9
- import { loadEndpoints } from './loader.js';
9
+ import { loadEndpoints, loadResponseSchemas } from './loader.js';
10
10
  /**
11
11
  * Start MCP server in HTTP mode
12
12
  * Creates Express server listening on specified port
@@ -17,6 +17,8 @@ export async function startHttpServer(options) {
17
17
  const endpoints = loadEndpoints();
18
18
  console.log(`[HTTP Mode] Loaded ${endpoints.endpoints.length} endpoints from ${endpoints.info.title} v${endpoints.info.version}`);
19
19
  console.log(`[HTTP Mode] Optimization: ${endpoints.stats.reductionPercent.toFixed(2)}% size reduction`);
20
+ const responseSchemas = loadResponseSchemas();
21
+ console.log(`[HTTP Mode] Loaded ${Object.keys(responseSchemas).length} response schemas`);
20
22
  // Create Express app
21
23
  const app = express();
22
24
  app.use(express.json());
@@ -65,7 +67,7 @@ export async function startHttpServer(options) {
65
67
  const hostname = `${protocol}://${hostnameWithoutSuffix}`;
66
68
  console.log(`[MCP Request] Target API: ${hostname}, Method: ${req.body?.method || 'unknown'}`);
67
69
  // Create server instance with the bearer token and hostname
68
- const server = createServer(endpoints, {
70
+ const server = createServer(endpoints, responseSchemas, {
69
71
  hostname,
70
72
  bearerToken,
71
73
  emulateResourcesViaTools,
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"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"}