@ampeco/public-api-mcp 0.2.0 → 0.3.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 (59) hide show
  1. package/README.md +258 -318
  2. package/dist/build/optimizer.d.ts.map +1 -1
  3. package/dist/build/optimizer.js +82 -21
  4. package/dist/build/optimizer.js.map +1 -1
  5. package/dist/build/parser.d.ts.map +1 -1
  6. package/dist/build/parser.js +74 -1
  7. package/dist/build/parser.js.map +1 -1
  8. package/dist/cli/index.js +25 -11
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/generated/build-stats.json +5 -5
  11. package/dist/generated/endpoints.json +29214 -20896
  12. package/dist/generated/schemas.d.ts +7530 -2789
  13. package/dist/generated/schemas.d.ts.map +1 -1
  14. package/dist/generated/schemas.js +1443 -590
  15. package/dist/generated/schemas.js.map +1 -1
  16. package/dist/generated/schemas.ts +1447 -596
  17. package/dist/server/factory.d.ts +2 -1
  18. package/dist/server/factory.d.ts.map +1 -1
  19. package/dist/server/factory.js +17 -206
  20. package/dist/server/factory.js.map +1 -1
  21. package/dist/server/factory.test.js +62 -4
  22. package/dist/server/factory.test.js.map +1 -1
  23. package/dist/server/http.d.ts +2 -1
  24. package/dist/server/http.d.ts.map +1 -1
  25. package/dist/server/http.js +8 -2
  26. package/dist/server/http.js.map +1 -1
  27. package/dist/server/index.d.ts +2 -0
  28. package/dist/server/index.d.ts.map +1 -1
  29. package/dist/server/index.js +9 -1388
  30. package/dist/server/index.js.map +1 -1
  31. package/dist/server/instructions.d.ts +13 -0
  32. package/dist/server/instructions.d.ts.map +1 -0
  33. package/dist/server/instructions.js +146 -0
  34. package/dist/server/instructions.js.map +1 -0
  35. package/dist/server/resources/handlers.d.ts +31 -0
  36. package/dist/server/resources/handlers.d.ts.map +1 -0
  37. package/dist/server/resources/handlers.js +113 -0
  38. package/dist/server/resources/handlers.js.map +1 -0
  39. package/dist/server/resources/handlers.test.d.ts +6 -0
  40. package/dist/server/resources/handlers.test.d.ts.map +1 -0
  41. package/dist/server/resources/handlers.test.js +203 -0
  42. package/dist/server/resources/handlers.test.js.map +1 -0
  43. package/dist/server/resources/native.d.ts +11 -0
  44. package/dist/server/resources/native.d.ts.map +1 -0
  45. package/dist/server/resources/native.js +31 -0
  46. package/dist/server/resources/native.js.map +1 -0
  47. package/dist/server/resources/tools.d.ts +11 -0
  48. package/dist/server/resources/tools.d.ts.map +1 -0
  49. package/dist/server/resources/tools.js +41 -0
  50. package/dist/server/resources/tools.js.map +1 -0
  51. package/dist/server/stdio.d.ts +2 -1
  52. package/dist/server/stdio.d.ts.map +1 -1
  53. package/dist/server/stdio.js +8 -2
  54. package/dist/server/stdio.js.map +1 -1
  55. package/dist/server/types.d.ts +36 -0
  56. package/dist/server/types.d.ts.map +1 -0
  57. package/dist/server/types.js +6 -0
  58. package/dist/server/types.js.map +1 -0
  59. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"optimizer.d.ts","sourceRoot":"","sources":["../../src/build/optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB,CAc/E;AAmMD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAaA"}
1
+ {"version":3,"file":"optimizer.d.ts","sourceRoot":"","sources":["../../src/build/optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB,CAc/E;AA8PD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAaA"}
@@ -45,31 +45,91 @@ function optimizeDescription(description) {
45
45
  .trim();
46
46
  }
47
47
  /**
48
- * Optimize parameters by removing unnecessary fields
48
+ * Optimize parameters by grouping by type (path/query) and using object keys
49
+ *
50
+ * Transforms flat OpenAPI parameter array into a more intuitive structure:
51
+ * - Separates path and query parameters into distinct objects
52
+ * - Uses parameter name as the object key (eliminating redundant "name" field)
53
+ * - Maintains readable field names (type, description, required, etc.)
54
+ * - Reduces nesting while keeping the format clear and LLM-friendly
55
+ *
56
+ * Example:
57
+ * Before: [{"name": "userId", "in": "path", "required": true, "schema": {"type": "integer"}}]
58
+ * After: {"path": {"userId": {"type": "integer", "required": true}}}
49
59
  *
50
60
  * @param parameters - Array of parameters
51
- * @returns Optimized parameters
61
+ * @returns Optimized parameters object with named keys
52
62
  */
53
63
  function optimizeParameters(parameters) {
54
- return parameters.map((param) => {
55
- const optimized = {
56
- name: param.name,
57
- in: param.in,
58
- };
64
+ if (!parameters || parameters.length === 0) {
65
+ return undefined;
66
+ }
67
+ const pathParams = {};
68
+ const queryParams = {};
69
+ for (const param of parameters) {
70
+ const optimized = {};
71
+ // Add description if present
59
72
  if (param.description) {
60
73
  optimized.description = optimizeDescription(param.description);
61
74
  }
62
- if (param.required) {
63
- optimized.required = true; // Only include if true
64
- }
75
+ // Add schema info
65
76
  if (param.schema) {
66
- optimized.schema = optimizeSchema(param.schema);
77
+ const schema = param.schema;
78
+ // For simple types, flatten the schema into the parameter
79
+ if (schema.type && !schema.properties && !schema.items && !schema.enum && !schema.oneOf && !schema.anyOf) {
80
+ optimized.type = schema.type;
81
+ // Add format if present
82
+ if (schema.format) {
83
+ optimized.format = schema.format;
84
+ }
85
+ // Add constraints
86
+ if (schema.minimum !== undefined)
87
+ optimized.minimum = schema.minimum;
88
+ if (schema.maximum !== undefined)
89
+ optimized.maximum = schema.maximum;
90
+ if (schema.minLength !== undefined)
91
+ optimized.minLength = schema.minLength;
92
+ if (schema.maxLength !== undefined)
93
+ optimized.maxLength = schema.maxLength;
94
+ if (schema.pattern)
95
+ optimized.pattern = schema.pattern;
96
+ if (schema.default !== undefined)
97
+ optimized.default = schema.default;
98
+ if (schema.example !== undefined)
99
+ optimized.example = schema.example;
100
+ if (schema.nullable)
101
+ optimized.nullable = true;
102
+ }
103
+ else {
104
+ // For complex schemas (objects, arrays, enums), keep as nested schema
105
+ optimized.schema = optimizeSchema(schema);
106
+ }
67
107
  }
68
- if (param.example !== undefined) {
108
+ // Only add required flag if true (omit for optional params)
109
+ if (param.required) {
110
+ optimized.required = true;
111
+ }
112
+ // Add example if present and not already in schema
113
+ if (param.example !== undefined && !optimized.example) {
69
114
  optimized.example = param.example;
70
115
  }
71
- return optimized;
72
- });
116
+ // Group by parameter location, using parameter name as key
117
+ if (param.in === 'path') {
118
+ pathParams[param.name] = optimized;
119
+ }
120
+ else if (param.in === 'query') {
121
+ queryParams[param.name] = optimized;
122
+ }
123
+ }
124
+ // Build result object with only non-empty groups
125
+ const result = {};
126
+ if (Object.keys(pathParams).length > 0) {
127
+ result.path = pathParams;
128
+ }
129
+ if (Object.keys(queryParams).length > 0) {
130
+ result.query = queryParams;
131
+ }
132
+ return Object.keys(result).length > 0 ? result : undefined;
73
133
  }
74
134
  /**
75
135
  * Optimize request body by removing unnecessary fields
@@ -115,21 +175,22 @@ function optimizeMediaType(mediaType) {
115
175
  /**
116
176
  * Optimize responses by removing unnecessary fields
117
177
  *
178
+ * Response content schemas are stripped to save tokens (70-80% reduction).
179
+ * Only the description is kept for each status code, which is sufficient for
180
+ * understanding what to expect. The actual response data is more useful than
181
+ * the schema definition when working with APIs.
182
+ *
118
183
  * @param responses - Response definitions
119
- * @returns Optimized responses
184
+ * @returns Optimized responses with content stripped
120
185
  */
121
186
  function optimizeResponses(responses) {
122
187
  const optimized = {};
123
188
  for (const [statusCode, response] of Object.entries(responses)) {
189
+ // Only keep the description, strip all content schemas
124
190
  optimized[statusCode] = {
125
191
  description: optimizeDescription(response.description),
192
+ // content field is intentionally omitted to save tokens
126
193
  };
127
- if (response.content) {
128
- optimized[statusCode].content = {};
129
- for (const [mediaType, content] of Object.entries(response.content)) {
130
- optimized[statusCode].content[mediaType] = optimizeMediaType(content);
131
- }
132
- }
133
194
  }
134
195
  return optimized;
135
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"optimizer.js","sourceRoot":"","sources":["../../src/build/optimizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optimizer.js","sourceRoot":"","sources":["../../src/build/optimizer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/build/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAsBxE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;CAChB,CAAC,CA2BD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAWjE"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/build/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAsBxE;AAoFD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;CAChB,CAAC,CA8BD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAWjE"}
@@ -34,6 +34,77 @@ export async function parseAndDereference(filePath) {
34
34
  throw new Error(`Failed to parse OpenAPI specification: ${error}`);
35
35
  }
36
36
  }
37
+ /**
38
+ * Resolve internal $ref pointers in a value
39
+ *
40
+ * @param value - Value that may contain $ref pointers
41
+ * @param api - Full API document to resolve references from
42
+ * @param visited - Set of visited references to prevent circular loops
43
+ * @returns Resolved value
44
+ */
45
+ function resolveRef(value, api, visited = new Set()) {
46
+ if (!value || typeof value !== "object") {
47
+ return value;
48
+ }
49
+ // Handle $ref pointers
50
+ if (value.$ref && typeof value.$ref === "string") {
51
+ const ref = value.$ref;
52
+ // Skip external file references - these should have been bundled
53
+ // If they weren't bundled, they're missing files or bundler issues
54
+ // Only warn once per unique external reference
55
+ if (!ref.startsWith("#/")) {
56
+ // Silently skip external refs - they're handled by the bundler
57
+ return value;
58
+ }
59
+ // Prevent infinite loops
60
+ if (visited.has(ref)) {
61
+ // Circular references are expected in OpenAPI (e.g., ChargePoint -> evses -> ChargePoint)
62
+ // Silently return the unresolved value to break the cycle
63
+ return value;
64
+ }
65
+ visited.add(ref);
66
+ // Parse the JSON pointer (e.g., "#/components/parameters/user_filter")
67
+ const pointer = ref.replace(/^#\//, "").split("/");
68
+ // Navigate to the referenced value
69
+ let resolved = api;
70
+ for (const segment of pointer) {
71
+ // Handle URL-encoded segments
72
+ // First decode percent-encoded characters (e.g., %7B becomes {, %7D becomes })
73
+ // Then handle JSON Pointer encoding (e.g., ~1 becomes /, ~0 becomes ~)
74
+ const decodedSegment = decodeURIComponent(segment)
75
+ .replace(/~1/g, "/")
76
+ .replace(/~0/g, "~");
77
+ resolved = resolved?.[decodedSegment];
78
+ // If we encounter a $ref while navigating, resolve it first
79
+ // This handles cases where references point through other $refs
80
+ if (resolved?.$ref && typeof resolved.$ref === 'string') {
81
+ const nestedResolved = resolveRef(resolved, api, visited);
82
+ // If resolution returns the same object (circular ref), we can't navigate further
83
+ if (nestedResolved === resolved) {
84
+ // Circular reference - can't navigate deeper, return what we have
85
+ return resolved;
86
+ }
87
+ resolved = nestedResolved;
88
+ }
89
+ if (resolved === undefined) {
90
+ console.warn(`[Parser] Failed to resolve reference: ${ref}`);
91
+ return value;
92
+ }
93
+ }
94
+ // Recursively resolve any nested $refs in the resolved value
95
+ return resolveRef(resolved, api, visited);
96
+ }
97
+ // Handle arrays
98
+ if (Array.isArray(value)) {
99
+ return value.map((item) => resolveRef(item, api, new Set(visited)));
100
+ }
101
+ // Handle objects
102
+ const resolved = {};
103
+ for (const [key, val] of Object.entries(value)) {
104
+ resolved[key] = resolveRef(val, api, new Set(visited));
105
+ }
106
+ return resolved;
107
+ }
37
108
  /**
38
109
  * Get all endpoints from the dereferenced OpenAPI document
39
110
  *
@@ -53,10 +124,12 @@ export function extractEndpoints(api) {
53
124
  for (const method of methods) {
54
125
  const operation = pathItem[method];
55
126
  if (operation) {
127
+ // Resolve all internal $ref pointers in the operation
128
+ const resolvedOperation = resolveRef(operation, api);
56
129
  endpoints.push({
57
130
  path,
58
131
  method: method.toUpperCase(),
59
- operation,
132
+ operation: resolvedOperation,
60
133
  });
61
134
  }
62
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/build/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,OAAO,CAAC,GAAG,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,uCAAuC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,aAAa,CAAC;IAE/B,IAAI,CAAC;QACH,+EAA+E;QAC/E,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACjF,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,IAAI,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;QAEhG,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAQ;IAKvC,MAAM,SAAS,GAA4D,EAAE,CAAC;IAE9E,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEtF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAI,QAAgB,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI;oBACJ,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;oBAC5B,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,CAAC,MAAM,sBAAsB,CAAC,CAAC;IAC1E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAQ;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;IAEvC,IAAI,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,IAAI,mBAAmB,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/build/parser.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -14,19 +14,23 @@ Usage:
14
14
  ampeco-api-mcp [options]
15
15
 
16
16
  Options:
17
- --stdio Run in stdio mode (for Claude Desktop, NPX)
18
- --http Run in HTTP mode (for remote access)
19
- --hostname <url> Target API hostname (required for stdio mode)
20
- --token <token> Bearer token for API authentication (stdio mode)
21
- --port <port> Port for HTTP server (default: 3000)
22
- --help Show this help message
17
+ --stdio Run in stdio mode (for Claude Desktop, NPX)
18
+ --http Run in HTTP mode (for remote access)
19
+ --hostname <url> Target API hostname (required for stdio mode)
20
+ --token <token> Bearer token for API authentication (stdio mode)
21
+ --port <port> Port for HTTP server (default: 3000)
22
+ --emulate-resources-via-tools Use tool emulation instead of native MCP resources (required for Claude Desktop)
23
+ --help Show this help message
23
24
 
24
25
  Examples:
25
- Stdio mode (local):
26
+ Stdio mode with native resources:
26
27
  ampeco-api-mcp --stdio --hostname http://demo.charge.alex2.dev.ampeco.tech --token $AMPECO_TOKEN
27
28
 
29
+ Stdio mode with tool emulation (Claude Desktop):
30
+ ampeco-api-mcp --stdio --hostname http://demo.charge.alex2.dev.ampeco.tech --token $AMPECO_TOKEN --emulate-resources-via-tools
31
+
28
32
  HTTP mode (remote):
29
- ampeco-api-mcp --http --port 3001
33
+ ampeco-api-mcp --http --port 3001 --emulate-resources-via-tools
30
34
 
31
35
  Environment Variables:
32
36
  AMPECO_BEARER_TOKEN Bearer token (alternative to --token)
@@ -45,6 +49,7 @@ async function main() {
45
49
  port: { type: 'string', default: '3000' },
46
50
  hostname: { type: 'string' },
47
51
  token: { type: 'string' },
52
+ 'emulate-resources-via-tools': { type: 'boolean', default: false },
48
53
  help: { type: 'boolean', default: false },
49
54
  },
50
55
  allowPositionals: false,
@@ -63,12 +68,14 @@ async function main() {
63
68
  }
64
69
  // Default to stdio if neither specified (for NPX compatibility)
65
70
  const useStdio = values.stdio || !values.http;
71
+ // Extract emulate-resources-via-tools flag
72
+ const emulateResourcesViaTools = values['emulate-resources-via-tools'] || false;
66
73
  if (useStdio) {
67
74
  // Stdio mode: requires hostname and token
68
75
  if (!values.hostname) {
69
76
  console.error('Error: --hostname is required in stdio mode');
70
77
  console.error('\nUsage:');
71
- console.error(' ampeco-api-mcp --stdio --hostname <hostname> [--token <token>]');
78
+ console.error(' ampeco-api-mcp --stdio --hostname <hostname> [--token <token>] [--emulate-resources-via-tools]');
72
79
  console.error('\nExample:');
73
80
  console.error(' ampeco-api-mcp --stdio --hostname http://demo.charge.alex2.dev.ampeco.tech --token $AMPECO_TOKEN');
74
81
  console.error('\nNote: Token can also be provided via AMPECO_BEARER_TOKEN environment variable');
@@ -79,7 +86,11 @@ async function main() {
79
86
  console.error('Warning: No bearer token provided. API requests may fail without authentication.');
80
87
  console.error('Provide token via --token argument or AMPECO_BEARER_TOKEN environment variable.\n');
81
88
  }
82
- await startStdioServer(token, values.hostname);
89
+ await startStdioServer({
90
+ bearerToken: token,
91
+ hostname: values.hostname,
92
+ emulateResourcesViaTools,
93
+ });
83
94
  }
84
95
  else {
85
96
  // HTTP mode: requires port
@@ -89,7 +100,10 @@ async function main() {
89
100
  console.error('Port must be a number between 1 and 65535');
90
101
  process.exit(1);
91
102
  }
92
- await startHttpServer(port);
103
+ await startHttpServer({
104
+ port,
105
+ emulateResourcesViaTools,
106
+ });
93
107
  }
94
108
  }
95
109
  main().catch((error) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
- "totalEndpoints": 445,
3
- "originalSize": 815026,
4
- "optimizedSize": 537657,
5
- "reductionPercent": 34.03,
6
- "buildDuration": 584
2
+ "totalEndpoints": 443,
3
+ "originalSize": 2500150,
4
+ "optimizedSize": 747039,
5
+ "reductionPercent": 70.12,
6
+ "buildDuration": 733
7
7
  }