@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.
- package/README.md +258 -318
- 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/cli/index.js +25 -11
- package/dist/cli/index.js.map +1 -1
- package/dist/generated/build-stats.json +5 -5
- package/dist/generated/endpoints.json +29214 -20896
- package/dist/generated/schemas.d.ts +7530 -2789
- 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 +2 -1
- package/dist/server/factory.d.ts.map +1 -1
- package/dist/server/factory.js +17 -206
- 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 +8 -2
- 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 +9 -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/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 +8 -2
- 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/package.json +3 -2
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Instruction templates for different resource modes
|
|
3
|
+
*/
|
|
4
|
+
import type { BuildOutput } from '../build/types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Generate instructions for native MCP resources mode
|
|
7
|
+
*/
|
|
8
|
+
export declare function getNativeResourceInstructions(endpoints: BuildOutput, hostname: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Generate instructions for tool emulation mode (for Claude Desktop)
|
|
11
|
+
*/
|
|
12
|
+
export declare function getToolEmulationInstructions(endpoints: BuildOutput, hostname: string): string;
|
|
13
|
+
//# sourceMappingURL=instructions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/server/instructions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA4IrD;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9F;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7F"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Instruction templates for different resource modes
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Get the resource discovery section for native MCP resources mode
|
|
6
|
+
*/
|
|
7
|
+
function getNativeResourceDiscoveryInstructions() {
|
|
8
|
+
return `Resource Structure (3-tier hierarchy):
|
|
9
|
+
- Tier 1 (Discovery): List resources returns API tags (e.g., tag://Users, tag://ChargingSessions)
|
|
10
|
+
- Tier 2 (Navigation): Read a tag resource to see all endpoints within that tag
|
|
11
|
+
- Tier 3 (Details): Read an individual endpoint resource for full specification
|
|
12
|
+
|
|
13
|
+
Usage:
|
|
14
|
+
1. List available resources to discover API tags (returns ~10-30 tags instead of 443 endpoints)
|
|
15
|
+
2. Read a tag resource (e.g., tag://Users) to see all endpoints within that tag
|
|
16
|
+
3. Read an endpoint resource (e.g., api://GET/users/{id}) to get detailed endpoint information
|
|
17
|
+
4. Use the 'api_request' tool to make HTTP calls to any endpoint
|
|
18
|
+
|
|
19
|
+
URI Formats:
|
|
20
|
+
- Tags: tag://{TagName} (e.g., tag://Users)
|
|
21
|
+
- Endpoints: api://{METHOD}{path} (e.g., api://GET/users/{id})
|
|
22
|
+
|
|
23
|
+
Note: Deprecated endpoints are not exposed as resources and cannot be accessed. This hierarchical structure reduces initial context consumption by ~95-97%.`;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get the resource discovery section for tool emulation mode
|
|
27
|
+
*/
|
|
28
|
+
function getToolEmulationDiscoveryInstructions() {
|
|
29
|
+
return `**IMPORTANT - Resource Discovery:**
|
|
30
|
+
This server uses TOOL-BASED resource emulation instead of native MCP resources. You MUST use the following tools to discover and read endpoint definitions:
|
|
31
|
+
|
|
32
|
+
1. **list_resources** - Discover API tags (similar to listing resources)
|
|
33
|
+
- Returns tags like "Users", "ChargingSessions", "Connectors"
|
|
34
|
+
- No parameters required
|
|
35
|
+
|
|
36
|
+
2. **read_resource** - Read endpoint definitions (similar to reading a resource)
|
|
37
|
+
- Required parameter: 'uri' - the resource URI
|
|
38
|
+
- Tag URIs: "tag://Users", "tag://ChargingSessions", etc.
|
|
39
|
+
- Endpoint URIs: "api://GET/users/{id}", "api://POST/users", etc.
|
|
40
|
+
|
|
41
|
+
3. **api_request** - Make authenticated HTTP requests to endpoints
|
|
42
|
+
- CRITICAL: You MUST call read_resource with the endpoint URI (api://{METHOD}{path}) BEFORE calling api_request
|
|
43
|
+
- DO NOT guess parameter names, request body structure, or query parameters
|
|
44
|
+
|
|
45
|
+
Workflow:
|
|
46
|
+
1. Call 'list_resources' tool to discover available tags
|
|
47
|
+
2. Call 'read_resource' tool with tag URI (e.g., "tag://Users") to see endpoints in that tag
|
|
48
|
+
3. Call 'read_resource' tool with endpoint URI (e.g., "api://GET/users/{id}") to get full endpoint details
|
|
49
|
+
4. Call 'api_request' tool with correct parameters to make the actual HTTP call
|
|
50
|
+
|
|
51
|
+
Note: Deprecated endpoints are automatically filtered out and cannot be accessed. This hierarchical structure reduces initial context consumption by ~95-97%.`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get common instructions shared by both modes
|
|
55
|
+
*/
|
|
56
|
+
function getCommonInstructions() {
|
|
57
|
+
return `
|
|
58
|
+
## Available Prompts
|
|
59
|
+
|
|
60
|
+
This server provides helpful prompts for common workflows. Use these prompts to learn best practices:
|
|
61
|
+
|
|
62
|
+
- **charging_session_workflow**: Learn how to implement the complete charging session lifecycle: finding charge points, starting/stopping sessions, and retrieving session details
|
|
63
|
+
- **authentication_workflow**: Understand how authentication works with the AMPECO API and how to implement custom authentication in your backend
|
|
64
|
+
- **reservation_workflow**: Learn how to reserve charge points for immediate or future use
|
|
65
|
+
- **smart_charging_setup**: Guide for configuring smart charging modes including scheduled, solar, and dynamic pricing strategies
|
|
66
|
+
|
|
67
|
+
To use a prompt, simply reference it by name when you need guidance on these workflows.
|
|
68
|
+
|
|
69
|
+
## AMPECO API Resource Relationships
|
|
70
|
+
|
|
71
|
+
The AMPECO API has a hierarchical structure: **Locations** → **Charging Zones** → **Charge Points** → **EVSEs** → **Connectors**
|
|
72
|
+
|
|
73
|
+
Each resource can be listed independently. EVSEs contain the currentType field ("ac"/"dc") for determining charging type.
|
|
74
|
+
|
|
75
|
+
## Best Practices for Data Fetching
|
|
76
|
+
|
|
77
|
+
**Always prefer top-level listing endpoints over nested fetching:**
|
|
78
|
+
- ✅ Use \`GET /evses\` to get all EVSEs across all charge points (1 API call)
|
|
79
|
+
- ❌ Avoid fetching \`GET /charge-points/{id}/evses\` for each charge point (N API calls)
|
|
80
|
+
|
|
81
|
+
The top-level listing endpoints are more efficient and reduce API load. Use nested endpoints only when you specifically need resources for a single parent entity.
|
|
82
|
+
|
|
83
|
+
## Session State & Webhooks
|
|
84
|
+
|
|
85
|
+
The AMPECO API is event-driven and uses webhooks for real-time updates. When performing actions like starting/stopping charging sessions:
|
|
86
|
+
- Initial API responses return immediately with session IDs
|
|
87
|
+
- Actual state changes arrive via webhooks (SessionUpdateNotification, SessionMeterValuesNotification)
|
|
88
|
+
- Clients should implement webhook handlers to track session status changes from "pending" → "active" → "finished"
|
|
89
|
+
- Session details and final metrics are retrieved via GET requests after receiving webhook notifications
|
|
90
|
+
|
|
91
|
+
## Cursor Pagination Guide
|
|
92
|
+
|
|
93
|
+
Many list endpoints support cursor-based pagination, which is faster and more reliable than offset-based pagination. Here's how to use it:
|
|
94
|
+
|
|
95
|
+
**Initial Request** - Start with an empty cursor:
|
|
96
|
+
\`\`\`
|
|
97
|
+
api_request(endpoint: "/users", method: "GET", query_params: { limit: 100, cursor: "" })
|
|
98
|
+
\`\`\`
|
|
99
|
+
|
|
100
|
+
**Subsequent Requests** - Use the cursor from the previous response:
|
|
101
|
+
\`\`\`
|
|
102
|
+
api_request(endpoint: "/users", method: "GET", query_params: { limit: 100, cursor: "eyJpZCI6MTAwfQ==" })
|
|
103
|
+
\`\`\`
|
|
104
|
+
|
|
105
|
+
**Pagination Loop:**
|
|
106
|
+
1. Start with \`cursor=""\` (empty string)
|
|
107
|
+
2. Make request with current cursor
|
|
108
|
+
3. Collect items from response
|
|
109
|
+
4. If response contains a non-empty cursor, use it for next request
|
|
110
|
+
5. Stop when cursor is null/empty or data array is empty
|
|
111
|
+
|
|
112
|
+
**Key Points:**
|
|
113
|
+
- ✅ Always use \`cursor=""\` for first request
|
|
114
|
+
- ✅ Use exact cursor value from responses
|
|
115
|
+
- ✅ Check for null/empty cursor or empty data array to detect end
|
|
116
|
+
- ✅ Adjust limit based on data size (100-1000 typical)
|
|
117
|
+
- ❌ Don't use offset pagination when cursor is available`;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Generate instructions with the specified discovery section
|
|
121
|
+
*/
|
|
122
|
+
function generateInstructions(endpoints, hostname, discoveryInstructions) {
|
|
123
|
+
return `This server provides access to the ${endpoints.info.title} API (v${endpoints.info.version}).
|
|
124
|
+
|
|
125
|
+
It exposes ${endpoints.endpoints.filter(e => !e.deprecated).length} active API endpoints (deprecated endpoints are automatically filtered out) and provides a tool for making authenticated HTTP requests.
|
|
126
|
+
|
|
127
|
+
Target API: ${hostname}
|
|
128
|
+
|
|
129
|
+
${discoveryInstructions}
|
|
130
|
+
|
|
131
|
+
The server automatically proxies your Bearer token to all API requests to ${hostname}.
|
|
132
|
+
${getCommonInstructions()}`;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Generate instructions for native MCP resources mode
|
|
136
|
+
*/
|
|
137
|
+
export function getNativeResourceInstructions(endpoints, hostname) {
|
|
138
|
+
return generateInstructions(endpoints, hostname, getNativeResourceDiscoveryInstructions());
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Generate instructions for tool emulation mode (for Claude Desktop)
|
|
142
|
+
*/
|
|
143
|
+
export function getToolEmulationInstructions(endpoints, hostname) {
|
|
144
|
+
return generateInstructions(endpoints, hostname, getToolEmulationDiscoveryInstructions());
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/server/instructions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,SAAS,sCAAsC;IAC7C,OAAO;;;;;;;;;;;;;;;4JAemJ,CAAC;AAC7J,CAAC;AAED;;GAEG;AACH,SAAS,qCAAqC;IAC5C,OAAO;;;;;;;;;;;;;;;;;;;;;;8JAsBqJ,CAAC;AAC/J,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDA4DgD,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,SAAsB,EACtB,QAAgB,EAChB,qBAA6B;IAE7B,OAAO,sCAAsC,SAAS,CAAC,IAAI,CAAC,KAAK,UAAU,SAAS,CAAC,IAAI,CAAC,OAAO;;aAEtF,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM;;cAEpD,QAAQ;;EAEpB,qBAAqB;;4EAEqD,QAAQ;EAClF,qBAAqB,EAAE,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,SAAsB,EAAE,QAAgB;IACpF,OAAO,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,sCAAsC,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,SAAsB,EAAE,QAAgB;IACnF,OAAO,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,qCAAqC,EAAE,CAAC,CAAC;AAC5F,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared resource handler that contains the core logic for listing and reading resources.
|
|
3
|
+
* This class is used by both native MCP resources AND tool emulation to avoid duplication.
|
|
4
|
+
*/
|
|
5
|
+
import type { BuildOutput } from '../../build/types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Shared resource handler that contains the core logic for listing and reading resources.
|
|
8
|
+
* This class is used by both native MCP resources AND tool emulation to avoid duplication.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ResourceHandler {
|
|
11
|
+
private endpoints;
|
|
12
|
+
constructor(endpoints: BuildOutput);
|
|
13
|
+
/**
|
|
14
|
+
* List all available tags
|
|
15
|
+
* Used by both resources/list handler and list_resources tool
|
|
16
|
+
*/
|
|
17
|
+
listTags(): Array<{
|
|
18
|
+
uri: string;
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
mimeType: string;
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Read a specific resource by URI
|
|
25
|
+
* Used by both resources/read handler and read_resource tool
|
|
26
|
+
*/
|
|
27
|
+
readResource(uri: string): any;
|
|
28
|
+
private readTagResource;
|
|
29
|
+
private readApiResource;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/server/resources/handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;GAGG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,WAAW;IAE1C;;;OAGG;IACH,QAAQ,IAAI,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IA6CvF;;;OAGG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAyB9B,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,eAAe;CAuBxB"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared resource handler that contains the core logic for listing and reading resources.
|
|
3
|
+
* This class is used by both native MCP resources AND tool emulation to avoid duplication.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Shared resource handler that contains the core logic for listing and reading resources.
|
|
7
|
+
* This class is used by both native MCP resources AND tool emulation to avoid duplication.
|
|
8
|
+
*/
|
|
9
|
+
export class ResourceHandler {
|
|
10
|
+
endpoints;
|
|
11
|
+
constructor(endpoints) {
|
|
12
|
+
this.endpoints = endpoints;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* List all available tags
|
|
16
|
+
* Used by both resources/list handler and list_resources tool
|
|
17
|
+
*/
|
|
18
|
+
listTags() {
|
|
19
|
+
const startTime = Date.now();
|
|
20
|
+
// Filter out deprecated endpoints
|
|
21
|
+
const activeEndpoints = this.endpoints.endpoints.filter(e => !e.deprecated);
|
|
22
|
+
// Extract unique tags
|
|
23
|
+
const tagsSet = new Set();
|
|
24
|
+
let untaggedCount = 0;
|
|
25
|
+
for (const endpoint of activeEndpoints) {
|
|
26
|
+
if (endpoint.tags && endpoint.tags.length > 0) {
|
|
27
|
+
endpoint.tags.forEach(tag => tagsSet.add(tag));
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
untaggedCount++;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const tags = Array.from(tagsSet).sort();
|
|
34
|
+
if (untaggedCount > 0) {
|
|
35
|
+
tags.push('Untagged');
|
|
36
|
+
}
|
|
37
|
+
// Build resources list
|
|
38
|
+
const resources = tags.map(tag => {
|
|
39
|
+
const tagEndpoints = activeEndpoints.filter(e => tag === 'Untagged'
|
|
40
|
+
? !e.tags || e.tags.length === 0
|
|
41
|
+
: e.tags?.includes(tag));
|
|
42
|
+
return {
|
|
43
|
+
uri: `tag://${tag}`,
|
|
44
|
+
name: tag,
|
|
45
|
+
description: `${tagEndpoints.length} endpoint${tagEndpoints.length !== 1 ? 's' : ''} tagged with '${tag}'`,
|
|
46
|
+
mimeType: 'application/json',
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
const duration = Date.now() - startTime;
|
|
50
|
+
console.log(`[ResourceHandler] Listed ${resources.length} tag resources in ${duration}ms`);
|
|
51
|
+
return resources;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Read a specific resource by URI
|
|
55
|
+
* Used by both resources/read handler and read_resource tool
|
|
56
|
+
*/
|
|
57
|
+
readResource(uri) {
|
|
58
|
+
console.log(`[ResourceHandler] Reading URI: ${uri}`);
|
|
59
|
+
// Parse URI
|
|
60
|
+
const protocolMatch = uri.match(/^([^:]+):\/\/(.*)$/);
|
|
61
|
+
if (!protocolMatch) {
|
|
62
|
+
throw new Error(`Invalid URI format: ${uri}`);
|
|
63
|
+
}
|
|
64
|
+
const protocol = protocolMatch[1];
|
|
65
|
+
const remainder = protocolMatch[2];
|
|
66
|
+
// Handle tag:// URIs - return list of endpoints within tag
|
|
67
|
+
if (protocol === 'tag') {
|
|
68
|
+
return this.readTagResource(remainder);
|
|
69
|
+
}
|
|
70
|
+
// Handle api:// URIs - return individual endpoint details
|
|
71
|
+
if (protocol === 'api') {
|
|
72
|
+
return this.readApiResource(remainder);
|
|
73
|
+
}
|
|
74
|
+
throw new Error(`Unsupported URI protocol: ${protocol}. Expected 'tag' or 'api'`);
|
|
75
|
+
}
|
|
76
|
+
readTagResource(tag) {
|
|
77
|
+
const activeEndpoints = this.endpoints.endpoints.filter(e => !e.deprecated);
|
|
78
|
+
const taggedEndpoints = activeEndpoints.filter(e => tag === 'Untagged'
|
|
79
|
+
? !e.tags || e.tags.length === 0
|
|
80
|
+
: e.tags?.includes(tag));
|
|
81
|
+
if (taggedEndpoints.length === 0) {
|
|
82
|
+
throw new Error(`No endpoints found for tag: ${tag}`);
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
tag,
|
|
86
|
+
count: taggedEndpoints.length,
|
|
87
|
+
endpoints: taggedEndpoints.map(e => ({
|
|
88
|
+
uri: `api://${e.method.toUpperCase()}${e.path}`,
|
|
89
|
+
method: e.method.toUpperCase(),
|
|
90
|
+
path: e.path,
|
|
91
|
+
summary: e.summary || e.operationId || `${e.method} ${e.path}`,
|
|
92
|
+
operationId: e.operationId,
|
|
93
|
+
})),
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
readApiResource(remainder) {
|
|
97
|
+
const match = remainder.match(/^([A-Z]+)(\/.*)/);
|
|
98
|
+
if (!match) {
|
|
99
|
+
throw new Error(`Invalid API URI format: api://${remainder}`);
|
|
100
|
+
}
|
|
101
|
+
const method = match[1];
|
|
102
|
+
const path = match[2];
|
|
103
|
+
const endpoint = this.endpoints.endpoints.find((e) => e.path === path && e.method.toUpperCase() === method.toUpperCase());
|
|
104
|
+
if (!endpoint) {
|
|
105
|
+
throw new Error(`Endpoint not found: ${method} ${path}`);
|
|
106
|
+
}
|
|
107
|
+
if (endpoint.deprecated) {
|
|
108
|
+
throw new Error(`Endpoint is deprecated: ${method} ${path}`);
|
|
109
|
+
}
|
|
110
|
+
return endpoint;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/server/resources/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.test.d.ts","sourceRoot":"","sources":["../../../src/server/resources/handlers.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for ResourceHandler
|
|
3
|
+
* Ensures shared logic works correctly for both native and tool emulation modes
|
|
4
|
+
*/
|
|
5
|
+
import { describe, it, expect, beforeEach } from 'vitest';
|
|
6
|
+
import { ResourceHandler } from './handlers.js';
|
|
7
|
+
describe('ResourceHandler', () => {
|
|
8
|
+
let handler;
|
|
9
|
+
let mockEndpoints;
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
mockEndpoints = {
|
|
12
|
+
endpoints: [
|
|
13
|
+
{
|
|
14
|
+
path: '/users',
|
|
15
|
+
method: 'get',
|
|
16
|
+
tags: ['Users'],
|
|
17
|
+
deprecated: false,
|
|
18
|
+
operationId: 'getUsers',
|
|
19
|
+
summary: 'Get all users',
|
|
20
|
+
description: '',
|
|
21
|
+
parameters: [],
|
|
22
|
+
requestBody: undefined,
|
|
23
|
+
responses: {},
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
path: '/users/{id}',
|
|
27
|
+
method: 'get',
|
|
28
|
+
tags: ['Users'],
|
|
29
|
+
deprecated: false,
|
|
30
|
+
operationId: 'getUserById',
|
|
31
|
+
summary: 'Get user by ID',
|
|
32
|
+
description: '',
|
|
33
|
+
parameters: [],
|
|
34
|
+
requestBody: undefined,
|
|
35
|
+
responses: {},
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
path: '/sessions',
|
|
39
|
+
method: 'post',
|
|
40
|
+
tags: ['Sessions'],
|
|
41
|
+
deprecated: false,
|
|
42
|
+
operationId: 'createSession',
|
|
43
|
+
summary: 'Create session',
|
|
44
|
+
description: '',
|
|
45
|
+
parameters: [],
|
|
46
|
+
requestBody: undefined,
|
|
47
|
+
responses: {},
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
path: '/old-endpoint',
|
|
51
|
+
method: 'get',
|
|
52
|
+
tags: ['Legacy'],
|
|
53
|
+
deprecated: true,
|
|
54
|
+
operationId: 'oldEndpoint',
|
|
55
|
+
summary: 'Old endpoint',
|
|
56
|
+
description: '',
|
|
57
|
+
parameters: [],
|
|
58
|
+
requestBody: undefined,
|
|
59
|
+
responses: {},
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
path: '/misc',
|
|
63
|
+
method: 'get',
|
|
64
|
+
tags: [],
|
|
65
|
+
deprecated: false,
|
|
66
|
+
operationId: 'misc',
|
|
67
|
+
summary: 'Misc endpoint',
|
|
68
|
+
description: '',
|
|
69
|
+
parameters: [],
|
|
70
|
+
requestBody: undefined,
|
|
71
|
+
responses: {},
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
info: {
|
|
75
|
+
title: 'Test API',
|
|
76
|
+
version: '1.0.0',
|
|
77
|
+
},
|
|
78
|
+
buildTimestamp: '2025-10-13T00:00:00Z',
|
|
79
|
+
stats: {
|
|
80
|
+
totalEndpoints: 5,
|
|
81
|
+
originalSize: 1000,
|
|
82
|
+
optimizedSize: 800,
|
|
83
|
+
reductionPercent: 20,
|
|
84
|
+
buildDuration: 100,
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
handler = new ResourceHandler(mockEndpoints);
|
|
88
|
+
});
|
|
89
|
+
describe('listTags()', () => {
|
|
90
|
+
it('should return all unique tags from active endpoints', () => {
|
|
91
|
+
const tags = handler.listTags();
|
|
92
|
+
expect(tags).toHaveLength(3); // Sessions, Users, Untagged
|
|
93
|
+
expect(tags.map(t => t.name).sort()).toEqual(['Sessions', 'Untagged', 'Users']);
|
|
94
|
+
});
|
|
95
|
+
it('should filter out deprecated endpoints', () => {
|
|
96
|
+
const tags = handler.listTags();
|
|
97
|
+
expect(tags.find(t => t.name === 'Legacy')).toBeUndefined();
|
|
98
|
+
});
|
|
99
|
+
it('should include Untagged category if untagged endpoints exist', () => {
|
|
100
|
+
const tags = handler.listTags();
|
|
101
|
+
expect(tags.find(t => t.name === 'Untagged')).toBeDefined();
|
|
102
|
+
});
|
|
103
|
+
it('should not include Untagged if all endpoints are tagged', () => {
|
|
104
|
+
// Remove untagged endpoint
|
|
105
|
+
mockEndpoints.endpoints = mockEndpoints.endpoints.filter(e => e.tags && e.tags.length > 0);
|
|
106
|
+
handler = new ResourceHandler(mockEndpoints);
|
|
107
|
+
const tags = handler.listTags();
|
|
108
|
+
expect(tags.find(t => t.name === 'Untagged')).toBeUndefined();
|
|
109
|
+
});
|
|
110
|
+
it('should format tag resources correctly', () => {
|
|
111
|
+
const tags = handler.listTags();
|
|
112
|
+
const usersTag = tags.find(t => t.name === 'Users');
|
|
113
|
+
expect(usersTag).toBeDefined();
|
|
114
|
+
expect(usersTag?.uri).toBe('tag://Users');
|
|
115
|
+
expect(usersTag?.description).toBe('2 endpoints tagged with \'Users\'');
|
|
116
|
+
expect(usersTag?.mimeType).toBe('application/json');
|
|
117
|
+
});
|
|
118
|
+
it('should handle singular endpoint count correctly', () => {
|
|
119
|
+
const tags = handler.listTags();
|
|
120
|
+
const sessionsTag = tags.find(t => t.name === 'Sessions');
|
|
121
|
+
expect(sessionsTag?.description).toBe('1 endpoint tagged with \'Sessions\'');
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
describe('readResource()', () => {
|
|
125
|
+
describe('tag:// URIs', () => {
|
|
126
|
+
it('should read tag:// URIs correctly', () => {
|
|
127
|
+
const result = handler.readResource('tag://Users');
|
|
128
|
+
expect(result.tag).toBe('Users');
|
|
129
|
+
expect(result.count).toBe(2);
|
|
130
|
+
expect(result.endpoints).toHaveLength(2);
|
|
131
|
+
});
|
|
132
|
+
it('should include endpoint summaries in tag resource', () => {
|
|
133
|
+
const result = handler.readResource('tag://Users');
|
|
134
|
+
const endpoint = result.endpoints[0];
|
|
135
|
+
expect(endpoint).toHaveProperty('uri');
|
|
136
|
+
expect(endpoint).toHaveProperty('method');
|
|
137
|
+
expect(endpoint).toHaveProperty('path');
|
|
138
|
+
expect(endpoint).toHaveProperty('summary');
|
|
139
|
+
expect(endpoint).toHaveProperty('operationId');
|
|
140
|
+
});
|
|
141
|
+
it('should format endpoint URIs correctly', () => {
|
|
142
|
+
const result = handler.readResource('tag://Users');
|
|
143
|
+
expect(result.endpoints[0].uri).toMatch(/^api:\/\/GET\//);
|
|
144
|
+
});
|
|
145
|
+
it('should throw error for non-existent tag', () => {
|
|
146
|
+
expect(() => handler.readResource('tag://NonExistent')).toThrow('No endpoints found for tag: NonExistent');
|
|
147
|
+
});
|
|
148
|
+
it('should handle Untagged tag correctly', () => {
|
|
149
|
+
const result = handler.readResource('tag://Untagged');
|
|
150
|
+
expect(result.tag).toBe('Untagged');
|
|
151
|
+
expect(result.count).toBe(1);
|
|
152
|
+
expect(result.endpoints[0].path).toBe('/misc');
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
describe('api:// URIs', () => {
|
|
156
|
+
it('should read api:// URIs correctly', () => {
|
|
157
|
+
const result = handler.readResource('api://GET/users/{id}');
|
|
158
|
+
expect(result.path).toBe('/users/{id}');
|
|
159
|
+
expect(result.method).toBe('get');
|
|
160
|
+
expect(result.operationId).toBe('getUserById');
|
|
161
|
+
});
|
|
162
|
+
it('should return full endpoint object', () => {
|
|
163
|
+
const result = handler.readResource('api://GET/users');
|
|
164
|
+
expect(result).toHaveProperty('path');
|
|
165
|
+
expect(result).toHaveProperty('method');
|
|
166
|
+
expect(result).toHaveProperty('tags');
|
|
167
|
+
expect(result).toHaveProperty('operationId');
|
|
168
|
+
expect(result).toHaveProperty('summary');
|
|
169
|
+
});
|
|
170
|
+
it('should throw error for non-existent endpoint', () => {
|
|
171
|
+
expect(() => handler.readResource('api://GET/nonexistent')).toThrow('Endpoint not found: GET /nonexistent');
|
|
172
|
+
});
|
|
173
|
+
it('should throw error for deprecated endpoints', () => {
|
|
174
|
+
expect(() => handler.readResource('api://GET/old-endpoint')).toThrow('Endpoint is deprecated: GET /old-endpoint');
|
|
175
|
+
});
|
|
176
|
+
it('should handle POST endpoints', () => {
|
|
177
|
+
const result = handler.readResource('api://POST/sessions');
|
|
178
|
+
expect(result.path).toBe('/sessions');
|
|
179
|
+
expect(result.method).toBe('post');
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
describe('URI validation', () => {
|
|
183
|
+
it('should throw error for invalid URI format', () => {
|
|
184
|
+
expect(() => handler.readResource('invalid-uri')).toThrow('Invalid URI format: invalid-uri');
|
|
185
|
+
});
|
|
186
|
+
it('should throw error for unsupported protocol', () => {
|
|
187
|
+
expect(() => handler.readResource('http://example.com')).toThrow('Unsupported URI protocol: http. Expected \'tag\' or \'api\'');
|
|
188
|
+
});
|
|
189
|
+
it('should throw error for invalid API URI format', () => {
|
|
190
|
+
expect(() => handler.readResource('api://invalid')).toThrow('Invalid API URI format: api://invalid');
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
describe('Performance', () => {
|
|
195
|
+
it('should list tags in reasonable time', () => {
|
|
196
|
+
const start = Date.now();
|
|
197
|
+
handler.listTags();
|
|
198
|
+
const duration = Date.now() - start;
|
|
199
|
+
expect(duration).toBeLessThan(10); // Should be < 10ms
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
//# sourceMappingURL=handlers.test.js.map
|
|
@@ -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"}
|