@ampeco/public-api-mcp 0.2.2 → 0.4.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.
- package/README.md +296 -4
- package/dist/build/index.js +52 -7
- package/dist/build/index.js.map +1 -1
- package/dist/build/optimizer.d.ts.map +1 -1
- package/dist/build/optimizer.js +82 -21
- package/dist/build/optimizer.js.map +1 -1
- package/dist/build/parser.d.ts.map +1 -1
- package/dist/build/parser.js +74 -1
- package/dist/build/parser.js.map +1 -1
- package/dist/build/types.d.ts +24 -2
- package/dist/build/types.d.ts.map +1 -1
- package/dist/cli/index.js +25 -11
- package/dist/cli/index.js.map +1 -1
- package/dist/generated/build-stats.json +11 -5
- package/dist/generated/endpoints.json +29219 -20895
- package/dist/generated/response-schemas.json +84437 -0
- package/dist/generated/schemas.d.ts +7157 -2416
- package/dist/generated/schemas.d.ts.map +1 -1
- package/dist/generated/schemas.js +1443 -590
- package/dist/generated/schemas.js.map +1 -1
- package/dist/generated/schemas.ts +1447 -596
- package/dist/server/factory.d.ts +3 -2
- package/dist/server/factory.d.ts.map +1 -1
- package/dist/server/factory.js +144 -231
- package/dist/server/factory.js.map +1 -1
- package/dist/server/factory.test.js +62 -4
- package/dist/server/factory.test.js.map +1 -1
- package/dist/server/http.d.ts +2 -1
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +11 -3
- package/dist/server/http.js.map +1 -1
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +12 -1388
- package/dist/server/index.js.map +1 -1
- package/dist/server/instructions.d.ts +13 -0
- package/dist/server/instructions.d.ts.map +1 -0
- package/dist/server/instructions.js +146 -0
- package/dist/server/instructions.js.map +1 -0
- package/dist/server/loader.d.ts +6 -1
- package/dist/server/loader.d.ts.map +1 -1
- package/dist/server/loader.js +9 -0
- package/dist/server/loader.js.map +1 -1
- package/dist/server/resources/handlers.d.ts +31 -0
- package/dist/server/resources/handlers.d.ts.map +1 -0
- package/dist/server/resources/handlers.js +113 -0
- package/dist/server/resources/handlers.js.map +1 -0
- package/dist/server/resources/handlers.test.d.ts +6 -0
- package/dist/server/resources/handlers.test.d.ts.map +1 -0
- package/dist/server/resources/handlers.test.js +203 -0
- package/dist/server/resources/handlers.test.js.map +1 -0
- package/dist/server/resources/native.d.ts +11 -0
- package/dist/server/resources/native.d.ts.map +1 -0
- package/dist/server/resources/native.js +31 -0
- package/dist/server/resources/native.js.map +1 -0
- package/dist/server/resources/tools.d.ts +11 -0
- package/dist/server/resources/tools.d.ts.map +1 -0
- package/dist/server/resources/tools.js +41 -0
- package/dist/server/resources/tools.js.map +1 -0
- package/dist/server/stdio.d.ts +2 -1
- package/dist/server/stdio.d.ts.map +1 -1
- package/dist/server/stdio.js +11 -3
- package/dist/server/stdio.js.map +1 -1
- package/dist/server/types.d.ts +36 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +6 -0
- package/dist/server/types.js.map +1 -0
- package/dist/server/utils/response-transformer.d.ts +78 -0
- package/dist/server/utils/response-transformer.d.ts.map +1 -0
- package/dist/server/utils/response-transformer.js +423 -0
- package/dist/server/utils/response-transformer.js.map +1 -0
- package/dist/server/utils/response-transformer.test.d.ts +2 -0
- package/dist/server/utils/response-transformer.test.d.ts.map +1 -0
- package/dist/server/utils/response-transformer.test.js +103 -0
- package/dist/server/utils/response-transformer.test.js.map +1 -0
- package/package.json +4 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.test.js","sourceRoot":"","sources":["../../../src/server/resources/handlers.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native MCP resources registration
|
|
3
|
+
* Uses the shared ResourceHandler to avoid code duplication
|
|
4
|
+
*/
|
|
5
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
import type { BuildOutput } from '../../build/types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Register native MCP resources using the shared ResourceHandler
|
|
9
|
+
*/
|
|
10
|
+
export declare function registerNativeResources(server: McpServer, endpoints: BuildOutput): void;
|
|
11
|
+
//# sourceMappingURL=native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/server/resources/native.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAuBvF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native MCP resources registration
|
|
3
|
+
* Uses the shared ResourceHandler to avoid code duplication
|
|
4
|
+
*/
|
|
5
|
+
import { ListResourcesRequestSchema, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
6
|
+
import { ResourceHandler } from './handlers.js';
|
|
7
|
+
/**
|
|
8
|
+
* Register native MCP resources using the shared ResourceHandler
|
|
9
|
+
*/
|
|
10
|
+
export function registerNativeResources(server, endpoints) {
|
|
11
|
+
const handler = new ResourceHandler(endpoints);
|
|
12
|
+
// Register resources/list handler - delegates to shared handler
|
|
13
|
+
server.server.setRequestHandler(ListResourcesRequestSchema, async () => {
|
|
14
|
+
const resources = handler.listTags();
|
|
15
|
+
return { resources };
|
|
16
|
+
});
|
|
17
|
+
// Register resources/read handler - delegates to shared handler
|
|
18
|
+
server.server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
19
|
+
const data = handler.readResource(request.params.uri);
|
|
20
|
+
return {
|
|
21
|
+
contents: [
|
|
22
|
+
{
|
|
23
|
+
uri: request.params.uri,
|
|
24
|
+
mimeType: 'application/json',
|
|
25
|
+
text: JSON.stringify(data, null, 2),
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../../src/server/resources/native.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,SAAsB;IAC/E,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;IAE/C,gEAAgE;IAChE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,gEAAgE;IAChE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEtD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;oBACvB,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBACpC;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool emulation for MCP resources
|
|
3
|
+
* Uses the shared ResourceHandler to avoid code duplication
|
|
4
|
+
*/
|
|
5
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
import type { BuildOutput } from '../../build/types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Register tool emulation using the shared ResourceHandler
|
|
9
|
+
*/
|
|
10
|
+
export declare function registerEmulationTools(server: McpServer, endpoints: BuildOutput): void;
|
|
11
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/server/resources/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CA4CtF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool emulation for MCP resources
|
|
3
|
+
* Uses the shared ResourceHandler to avoid code duplication
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { ResourceHandler } from './handlers.js';
|
|
7
|
+
/**
|
|
8
|
+
* Register tool emulation using the shared ResourceHandler
|
|
9
|
+
*/
|
|
10
|
+
export function registerEmulationTools(server, endpoints) {
|
|
11
|
+
const handler = new ResourceHandler(endpoints);
|
|
12
|
+
// Tool 1: list_resources - delegates to shared handler
|
|
13
|
+
server.tool('list_resources', 'List all available API tags. This emulates the native MCP resources/list functionality. Returns a list of tags that group related endpoints together (e.g., Users, ChargingSessions, Connectors). Each tag can then be read using the read_resource tool with tag:// URIs.', {
|
|
14
|
+
// No parameters - always returns all tags
|
|
15
|
+
}, async () => {
|
|
16
|
+
const resources = handler.listTags();
|
|
17
|
+
return {
|
|
18
|
+
content: [
|
|
19
|
+
{
|
|
20
|
+
type: 'text',
|
|
21
|
+
text: JSON.stringify({ resources }, null, 2),
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
// Tool 2: read_resource - delegates to shared handler
|
|
27
|
+
server.tool('read_resource', 'Read a specific resource by URI. This emulates the native MCP resources/read functionality. Supports two URI formats: tag://{TagName} to read all endpoints within a tag, and api://{METHOD}{path} to read detailed endpoint specifications. You MUST use this tool to read endpoint definitions before calling api_request.', {
|
|
28
|
+
uri: z.string().describe('The resource URI to read. Format: tag://{TagName} or api://{METHOD}{path}. Examples: "tag://Users", "api://GET/users/{id}", "api://POST/charging-sessions"'),
|
|
29
|
+
}, async (args) => {
|
|
30
|
+
const data = handler.readResource(args.uri);
|
|
31
|
+
return {
|
|
32
|
+
content: [
|
|
33
|
+
{
|
|
34
|
+
type: 'text',
|
|
35
|
+
text: JSON.stringify(data, null, 2),
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/server/resources/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,SAAsB;IAC9E,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;IAE/C,uDAAuD;IACvD,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,4QAA4Q,EAC5Q;IACE,0CAA0C;KAC3C,EACD,KAAK,IAAI,EAAE;QACT,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAErC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC7C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,sDAAsD;IACtD,MAAM,CAAC,IAAI,CACT,eAAe,EACf,8TAA8T,EAC9T;QACE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4JAA4J,CAAC;KACvL,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBACpC;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/server/stdio.d.ts
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* Stdio MCP Server
|
|
3
3
|
* Runs MCP server with stdio transport for local integrations (Claude Desktop, NPX, etc.)
|
|
4
4
|
*/
|
|
5
|
+
import type { StdioServerOptions } from './types.js';
|
|
5
6
|
/**
|
|
6
7
|
* Start MCP server in stdio mode
|
|
7
8
|
* Uses stdin/stdout for communication with MCP clients
|
|
8
9
|
*/
|
|
9
|
-
export declare function startStdioServer(
|
|
10
|
+
export declare function startStdioServer(options: StdioServerOptions): Promise<void>;
|
|
10
11
|
//# sourceMappingURL=stdio.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/server/stdio.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/server/stdio.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
|
package/dist/server/stdio.js
CHANGED
|
@@ -4,20 +4,28 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
6
6
|
import { createServer } from './factory.js';
|
|
7
|
-
import { loadEndpoints } from './loader.js';
|
|
7
|
+
import { loadEndpoints, loadResponseSchemas } from './loader.js';
|
|
8
8
|
/**
|
|
9
9
|
* Start MCP server in stdio mode
|
|
10
10
|
* Uses stdin/stdout for communication with MCP clients
|
|
11
11
|
*/
|
|
12
|
-
export async function startStdioServer(
|
|
12
|
+
export async function startStdioServer(options) {
|
|
13
|
+
const { bearerToken, hostname, emulateResourcesViaTools = false, } = options;
|
|
13
14
|
console.error('[Stdio Mode] Starting MCP server...');
|
|
14
15
|
const endpoints = loadEndpoints();
|
|
15
16
|
console.error(`[Stdio Mode] Loaded ${endpoints.endpoints.length} endpoints from ${endpoints.info.title} v${endpoints.info.version}`);
|
|
16
|
-
const
|
|
17
|
+
const responseSchemas = loadResponseSchemas();
|
|
18
|
+
console.error(`[Stdio Mode] Loaded ${Object.keys(responseSchemas).length} response schemas`);
|
|
19
|
+
const server = createServer(endpoints, responseSchemas, {
|
|
20
|
+
hostname,
|
|
21
|
+
bearerToken,
|
|
22
|
+
emulateResourcesViaTools,
|
|
23
|
+
});
|
|
17
24
|
const transport = new StdioServerTransport();
|
|
18
25
|
await server.connect(transport);
|
|
19
26
|
console.error('[Stdio Mode] Server connected and ready');
|
|
20
27
|
console.error(`[Stdio Mode] Target API: ${hostname}`);
|
|
28
|
+
console.error(`[Stdio Mode] Resource mode: ${emulateResourcesViaTools ? 'Tool Emulation' : 'Native Resources'}`);
|
|
21
29
|
console.error(`[Stdio Mode] Bearer token: ${bearerToken ? 'provided' : 'not provided'}`);
|
|
22
30
|
// Keep process alive
|
|
23
31
|
process.stdin.resume();
|
package/dist/server/stdio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/server/stdio.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/server/stdio.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGjE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAA2B;IAE3B,MAAM,EACJ,WAAW,EACX,QAAQ,EACR,wBAAwB,GAAG,KAAK,GACjC,GAAG,OAAO,CAAC;IAEZ,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAErD,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,OAAO,CAAC,KAAK,CAAC,uBAAuB,SAAS,CAAC,SAAS,CAAC,MAAM,mBAAmB,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAErI,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAC9C,OAAO,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,mBAAmB,CAAC,CAAC;IAE7F,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE;QACtD,QAAQ;QACR,WAAW;QACX,wBAAwB;KACzB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACzD,OAAO,CAAC,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,KAAK,CAAC,+BAA+B,wBAAwB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACjH,OAAO,CAAC,KAAK,CAAC,8BAA8B,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IAEzF,qBAAqB;IACrB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server Configuration Types
|
|
3
|
+
* Defines options interfaces for server creation and startup functions
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Options for creating an MCP server instance
|
|
7
|
+
*/
|
|
8
|
+
export interface ServerOptions {
|
|
9
|
+
/** API hostname to proxy requests to */
|
|
10
|
+
hostname: string;
|
|
11
|
+
/** Bearer token for authentication */
|
|
12
|
+
bearerToken: string;
|
|
13
|
+
/** Emulate resources via tools instead of native MCP resources */
|
|
14
|
+
emulateResourcesViaTools?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Options for starting the MCP server in stdio mode
|
|
18
|
+
*/
|
|
19
|
+
export interface StdioServerOptions {
|
|
20
|
+
/** Bearer token for API authentication */
|
|
21
|
+
bearerToken: string;
|
|
22
|
+
/** Target API hostname */
|
|
23
|
+
hostname: string;
|
|
24
|
+
/** Emulate resources via tools instead of native MCP resources */
|
|
25
|
+
emulateResourcesViaTools?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Options for starting the MCP server in HTTP mode
|
|
29
|
+
*/
|
|
30
|
+
export interface HttpServerOptions {
|
|
31
|
+
/** Port to listen on */
|
|
32
|
+
port: number;
|
|
33
|
+
/** Emulate resources via tools instead of native MCP resources (for all requests) */
|
|
34
|
+
emulateResourcesViaTools?: boolean;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,wBAAwB,CAAC,EAAE,OAAO,CAAC;CAMpC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,wBAAwB,CAAC,EAAE,OAAO,CAAC;CAKpC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,OAAO,CAAC;CAMpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Response transformation utilities for handling large API responses
|
|
3
|
+
*
|
|
4
|
+
* This module implements schema-driven smart response transformation to:
|
|
5
|
+
* - Preserve critical pagination metadata
|
|
6
|
+
* - Provide statistical summaries (min/max/sum/avg/median/percentiles)
|
|
7
|
+
* - Include categorical distributions
|
|
8
|
+
* - Sample representative items
|
|
9
|
+
* - Dramatically reduce token usage (80-95% for large responses)
|
|
10
|
+
*/
|
|
11
|
+
export interface TransformOptions {
|
|
12
|
+
/** Maximum response size before transformation (default: 20000) */
|
|
13
|
+
maxResponseSize?: number;
|
|
14
|
+
/** Number of sample items to include (default: 5) */
|
|
15
|
+
sampleSize?: number;
|
|
16
|
+
/** Whether to compute statistics (default: true) */
|
|
17
|
+
computeStats?: boolean;
|
|
18
|
+
/** Whether to include distribution analysis (default: true) */
|
|
19
|
+
includeDistribution?: boolean;
|
|
20
|
+
/** Enable transformation (can be disabled for backward compatibility) */
|
|
21
|
+
enabled?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface TransformedResponse {
|
|
24
|
+
/** Original HTTP status */
|
|
25
|
+
status: number;
|
|
26
|
+
/** Preserved metadata (pagination, totals, etc.) */
|
|
27
|
+
metadata: Record<string, any>;
|
|
28
|
+
/** Transformed data with statistics and samples */
|
|
29
|
+
data: {
|
|
30
|
+
/** Summary of transformation */
|
|
31
|
+
_transformation: {
|
|
32
|
+
applied: boolean;
|
|
33
|
+
reason: string;
|
|
34
|
+
originalSize: number;
|
|
35
|
+
transformedSize: number;
|
|
36
|
+
timestamp: string;
|
|
37
|
+
};
|
|
38
|
+
/** Sample items from arrays */
|
|
39
|
+
sample?: any[];
|
|
40
|
+
/** Statistical aggregations */
|
|
41
|
+
statistics?: {
|
|
42
|
+
count: number;
|
|
43
|
+
numericFields?: Record<string, {
|
|
44
|
+
min: number;
|
|
45
|
+
max: number;
|
|
46
|
+
avg: number;
|
|
47
|
+
sum: number;
|
|
48
|
+
median: number;
|
|
49
|
+
p25?: number;
|
|
50
|
+
p75?: number;
|
|
51
|
+
p95?: number;
|
|
52
|
+
}>;
|
|
53
|
+
categoricalFields?: Record<string, Record<string, number>>;
|
|
54
|
+
};
|
|
55
|
+
/** Original array name (for context) */
|
|
56
|
+
arrayName?: string;
|
|
57
|
+
/** Full data for small responses */
|
|
58
|
+
full?: any;
|
|
59
|
+
};
|
|
60
|
+
/** Original response shape for reference */
|
|
61
|
+
_originalShape?: {
|
|
62
|
+
topLevelKeys: string[];
|
|
63
|
+
arrayFields: Array<{
|
|
64
|
+
name: string;
|
|
65
|
+
length: number;
|
|
66
|
+
}>;
|
|
67
|
+
scalarFields: string[];
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Detect if response needs transformation
|
|
72
|
+
*/
|
|
73
|
+
export declare function shouldTransform(response: any, options: TransformOptions): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Main transformation function
|
|
76
|
+
*/
|
|
77
|
+
export declare function transformResponse(response: any, options?: TransformOptions, responseSchema?: any): TransformedResponse;
|
|
78
|
+
//# sourceMappingURL=response-transformer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-transformer.d.ts","sourceRoot":"","sources":["../../../src/server/utils/response-transformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+DAA+D;IAC/D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,mDAAmD;IACnD,IAAI,EAAE;QACJ,gCAAgC;QAChC,eAAe,EAAE;YACf,OAAO,EAAE,OAAO,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC;YACf,YAAY,EAAE,MAAM,CAAC;YACrB,eAAe,EAAE,MAAM,CAAC;YACxB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,+BAA+B;QAC/B,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,+BAA+B;QAC/B,UAAU,CAAC,EAAE;YACX,KAAK,EAAE,MAAM,CAAC;YACd,aAAa,CAAC,EAAE,MAAM,CACpB,MAAM,EACN;gBACE,GAAG,EAAE,MAAM,CAAC;gBACZ,GAAG,EAAE,MAAM,CAAC;gBACZ,GAAG,EAAE,MAAM,CAAC;gBACZ,GAAG,EAAE,MAAM,CAAC;gBACZ,MAAM,EAAE,MAAM,CAAC;gBACf,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,GAAG,CAAC,EAAE,MAAM,CAAC;aACd,CACF,CAAC;YACF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;SAC5D,CAAC;QACF,wCAAwC;QACxC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,oCAAoC;QACpC,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,CAAC;IACF,4CAA4C;IAC5C,cAAc,CAAC,EAAE;QACf,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,WAAW,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACrD,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAUT;AAwWD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,GAAG,EACb,OAAO,GAAE,gBAAqB,EAC9B,cAAc,CAAC,EAAE,GAAG,GACnB,mBAAmB,CAwIrB"}
|