@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.
- package/README.md +61 -0
- package/dist/build/index.js +52 -7
- package/dist/build/index.js.map +1 -1
- package/dist/build/types.d.ts +24 -2
- package/dist/build/types.d.ts.map +1 -1
- package/dist/generated/build-stats.json +11 -5
- package/dist/generated/endpoints.json +398 -29
- package/dist/generated/response-schemas.json +85111 -0
- package/dist/generated/schemas.d.ts +326 -141
- package/dist/generated/schemas.d.ts.map +1 -1
- package/dist/generated/schemas.js +77 -18
- package/dist/generated/schemas.js.map +1 -1
- package/dist/generated/schemas.ts +79 -18
- package/dist/server/factory.d.ts +2 -2
- package/dist/server/factory.d.ts.map +1 -1
- package/dist/server/factory.js +129 -27
- package/dist/server/factory.js.map +1 -1
- package/dist/server/factory.test.js +5 -5
- package/dist/server/factory.test.js.map +1 -1
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +4 -2
- package/dist/server/http.js.map +1 -1
- package/dist/server/index.js +5 -2
- package/dist/server/index.js.map +1 -1
- 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.js +2 -2
- package/dist/server/resources/handlers.js.map +1 -1
- package/dist/server/stdio.d.ts.map +1 -1
- package/dist/server/stdio.js +4 -2
- package/dist/server/stdio.js.map +1 -1
- 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 +2 -1
package/README.md
CHANGED
|
@@ -159,6 +159,35 @@ The server uses a hostname-based routing structure where the target API hostname
|
|
|
159
159
|
|
|
160
160
|
**IMPORTANT**: Claude Desktop **does not support native MCP resources**. You **MUST** use the `--emulate-resources-via-tools` flag for Claude Desktop.
|
|
161
161
|
|
|
162
|
+
### Installation via Desktop Extension (.mcpb)
|
|
163
|
+
|
|
164
|
+
The easiest way to install this MCP server in Claude Desktop is using the Desktop Extension bundle:
|
|
165
|
+
|
|
166
|
+
#### Option 1: From Official Directory (Recommended)
|
|
167
|
+
|
|
168
|
+
1. Open Claude Desktop
|
|
169
|
+
2. Go to **Settings** → **Extensions**
|
|
170
|
+
3. Click **"Browse extensions"**
|
|
171
|
+
4. Search for **"AMPECO Public API"**
|
|
172
|
+
5. Click **Install** and follow the configuration prompts
|
|
173
|
+
|
|
174
|
+
#### Option 2: Manual Installation
|
|
175
|
+
|
|
176
|
+
1. Download the latest `.mcpb` file from the [releases page](https://github.com/ampeco/public-api-mcp/releases)
|
|
177
|
+
2. Open Claude Desktop
|
|
178
|
+
3. Go to **Settings** → **Extensions**
|
|
179
|
+
4. Click **"Install Extension..."**
|
|
180
|
+
5. Select the downloaded `.mcpb` file
|
|
181
|
+
6. Configure the required settings:
|
|
182
|
+
- **API Hostname**: Your AMPECO API server (e.g., `https://api.example.com`)
|
|
183
|
+
- **Bearer Token**: Your AMPECO API authentication token
|
|
184
|
+
|
|
185
|
+
The extension will automatically operate in resource emulation mode for Claude Desktop compatibility.
|
|
186
|
+
|
|
187
|
+
### Manual Configuration (Advanced)
|
|
188
|
+
|
|
189
|
+
If you prefer manual configuration or want to customize the setup:
|
|
190
|
+
|
|
162
191
|
### Claude Desktop Configuration
|
|
163
192
|
|
|
164
193
|
Claude Desktop uses a configuration file called `claude_desktop_config.json` located at:
|
|
@@ -652,6 +681,38 @@ npm run build
|
|
|
652
681
|
https://api.example.com/health
|
|
653
682
|
```
|
|
654
683
|
|
|
684
|
+
## Building Desktop Extension (.mcpb)
|
|
685
|
+
|
|
686
|
+
To package this MCP server as a Desktop Extension for distribution:
|
|
687
|
+
|
|
688
|
+
```bash
|
|
689
|
+
# Build and package as .mcpb
|
|
690
|
+
npm run package:mcpb
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
This creates a `.mcpb` file (e.g., `ampeco-api-mcp-0.3.0.mcpb`) that can be:
|
|
694
|
+
- Distributed to users for manual installation
|
|
695
|
+
- Submitted to the official Claude Desktop extensions directory
|
|
696
|
+
- Shared within your organization
|
|
697
|
+
|
|
698
|
+
The `.mcpb` file is a self-contained bundle including:
|
|
699
|
+
- Compiled server code (`dist/`)
|
|
700
|
+
- All dependencies (via `package.json`)
|
|
701
|
+
- Extension metadata (`manifest.json`)
|
|
702
|
+
- Documentation (`README.md`)
|
|
703
|
+
|
|
704
|
+
### What's Included in the Bundle
|
|
705
|
+
|
|
706
|
+
The Desktop Extension bundle operates in **resource emulation mode** by default, which means:
|
|
707
|
+
- Full compatibility with Claude Desktop (no native resource support needed)
|
|
708
|
+
- `list_resources` and `read_resource` tools for endpoint discovery
|
|
709
|
+
- `api_request` tool for making authenticated API calls
|
|
710
|
+
- Automatic token management via environment variables
|
|
711
|
+
|
|
712
|
+
Users only need to provide two configuration values during installation:
|
|
713
|
+
1. **API Hostname**: The AMPECO API server URL
|
|
714
|
+
2. **Bearer Token**: Their authentication token
|
|
715
|
+
|
|
655
716
|
## Technology Stack
|
|
656
717
|
|
|
657
718
|
### Runtime
|
package/dist/build/index.js
CHANGED
|
@@ -62,6 +62,7 @@ async function build() {
|
|
|
62
62
|
// Step 3: Process each endpoint through the pipeline
|
|
63
63
|
console.log("\n[Step 3/6] Processing endpoints through pipeline...");
|
|
64
64
|
const optimizedEndpoints = [];
|
|
65
|
+
const responseSchemas = {};
|
|
65
66
|
for (const { path, method, operation } of rawEndpoints) {
|
|
66
67
|
let endpoint = {
|
|
67
68
|
path,
|
|
@@ -86,12 +87,41 @@ async function build() {
|
|
|
86
87
|
else if (operation.requestBody) {
|
|
87
88
|
endpoint.requestBody = operation.requestBody;
|
|
88
89
|
}
|
|
89
|
-
// Flatten responses
|
|
90
|
-
if (operation.responses
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
// Flatten responses and separate schemas
|
|
91
|
+
if (operation.responses) {
|
|
92
|
+
const flattenedResponses = config.enableFlattening
|
|
93
|
+
? flattenResponses(operation.responses)
|
|
94
|
+
: operation.responses;
|
|
95
|
+
// Extract schemas separately for transformation use
|
|
96
|
+
if (operation.operationId) {
|
|
97
|
+
responseSchemas[operation.operationId] = {};
|
|
98
|
+
for (const [statusCode, response] of Object.entries(flattenedResponses)) {
|
|
99
|
+
const typedResponse = response; // Type assertion for response object
|
|
100
|
+
// Store only description in endpoint (for MCP resources)
|
|
101
|
+
if (!endpoint.responses) {
|
|
102
|
+
endpoint.responses = {};
|
|
103
|
+
}
|
|
104
|
+
endpoint.responses[statusCode] = {
|
|
105
|
+
description: typedResponse.description || '',
|
|
106
|
+
};
|
|
107
|
+
// Store schema separately (for transformation)
|
|
108
|
+
if (typedResponse.content?.['application/json']?.schema) {
|
|
109
|
+
responseSchemas[operation.operationId][statusCode] = {
|
|
110
|
+
schema: typedResponse.content['application/json'].schema,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
// No operationId - just keep descriptions
|
|
117
|
+
endpoint.responses = {};
|
|
118
|
+
for (const [statusCode, response] of Object.entries(flattenedResponses)) {
|
|
119
|
+
const typedResponse = response; // Type assertion for response object
|
|
120
|
+
endpoint.responses[statusCode] = {
|
|
121
|
+
description: typedResponse.description || '',
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
}
|
|
95
125
|
}
|
|
96
126
|
// Optimize
|
|
97
127
|
if (config.enableOptimization) {
|
|
@@ -100,6 +130,7 @@ async function build() {
|
|
|
100
130
|
optimizedEndpoints.push(endpoint);
|
|
101
131
|
}
|
|
102
132
|
console.log(`✓ Processed ${optimizedEndpoints.length} endpoints`);
|
|
133
|
+
console.log(`✓ Extracted response schemas for ${Object.keys(responseSchemas).length} operations`);
|
|
103
134
|
// Step 4: Calculate size reduction
|
|
104
135
|
console.log("\n[Step 4/6] Calculating optimization statistics...");
|
|
105
136
|
const sizeStats = calculateSizeReduction(rawEndpoints, optimizedEndpoints);
|
|
@@ -108,6 +139,9 @@ async function build() {
|
|
|
108
139
|
console.log(`✓ Reduction: ${sizeStats.reductionPercent.toFixed(2)}%`);
|
|
109
140
|
// Step 5: Create build output
|
|
110
141
|
console.log("\n[Step 5/6] Creating build output...");
|
|
142
|
+
// Calculate response schema stats
|
|
143
|
+
const responseSchemasJson = JSON.stringify(responseSchemas);
|
|
144
|
+
const withSchemas = Object.values(responseSchemas).filter(schemaObj => Object.keys(schemaObj).length > 0).length;
|
|
111
145
|
const buildOutput = {
|
|
112
146
|
endpoints: optimizedEndpoints,
|
|
113
147
|
info: {
|
|
@@ -123,6 +157,12 @@ async function build() {
|
|
|
123
157
|
optimizedSize: sizeStats.optimizedSize,
|
|
124
158
|
reductionPercent: sizeStats.reductionPercent,
|
|
125
159
|
buildDuration: Date.now() - buildStartTime,
|
|
160
|
+
responseSchemas: {
|
|
161
|
+
total: Object.keys(responseSchemas).length,
|
|
162
|
+
withSchemas,
|
|
163
|
+
totalSchemaSize: responseSchemasJson.length,
|
|
164
|
+
averageSchemaSize: Math.round(responseSchemasJson.length / Math.max(1, withSchemas)),
|
|
165
|
+
},
|
|
126
166
|
},
|
|
127
167
|
};
|
|
128
168
|
// Step 6: Generate Zod schemas and write output files
|
|
@@ -133,10 +173,14 @@ async function build() {
|
|
|
133
173
|
console.log(`✓ Generated Zod schemas for ${optimizedEndpoints.length} endpoints`);
|
|
134
174
|
}
|
|
135
175
|
await mkdir(config.outputPath, { recursive: true });
|
|
136
|
-
// Write optimized endpoints
|
|
176
|
+
// Write optimized endpoints (without schemas)
|
|
137
177
|
const endpointsPath = resolve(config.outputPath, "endpoints.json");
|
|
138
178
|
await writeFile(endpointsPath, JSON.stringify(buildOutput, null, 2));
|
|
139
179
|
console.log(`✓ Written: ${endpointsPath}`);
|
|
180
|
+
// Write response schemas separately (for transformation use only)
|
|
181
|
+
const responseSchemasPath = resolve(config.outputPath, "response-schemas.json");
|
|
182
|
+
await writeFile(responseSchemasPath, JSON.stringify(responseSchemas, null, 2));
|
|
183
|
+
console.log(`✓ Written: ${responseSchemasPath} (${(responseSchemasJson.length / 1024).toFixed(1)}KB)`);
|
|
140
184
|
// Write Zod schemas
|
|
141
185
|
if (config.enableZodGeneration) {
|
|
142
186
|
const zodPath = resolve(config.outputPath, "schemas.ts");
|
|
@@ -154,6 +198,7 @@ async function build() {
|
|
|
154
198
|
console.log(`Total duration: ${buildDuration}ms`);
|
|
155
199
|
console.log(`Endpoints processed: ${optimizedEndpoints.length}`);
|
|
156
200
|
console.log(`Size reduction: ${sizeStats.reductionPercent.toFixed(2)}%`);
|
|
201
|
+
console.log(`Response schemas: ${withSchemas}/${Object.keys(responseSchemas).length} endpoints (${(responseSchemasJson.length / 1024).toFixed(1)}KB)`);
|
|
157
202
|
console.log("=".repeat(60));
|
|
158
203
|
console.log("");
|
|
159
204
|
// Restore original working directory
|
package/dist/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"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"}
|
package/dist/build/types.d.ts
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Optimized endpoint definition that will be bundled with the server
|
|
6
|
+
* NOTE: Response schemas are stored separately in response-schemas.json
|
|
7
|
+
* for transformation logic. This keeps endpoints.json lean while preserving
|
|
8
|
+
* response descriptions for MCP resources.
|
|
6
9
|
*/
|
|
7
10
|
export interface OptimizedEndpoint {
|
|
8
11
|
path: string;
|
|
@@ -44,11 +47,24 @@ export interface OptimizedMediaType {
|
|
|
44
47
|
examples?: Record<string, any>;
|
|
45
48
|
}
|
|
46
49
|
/**
|
|
47
|
-
* Optimized response definition
|
|
50
|
+
* Optimized response definition (for MCP resources)
|
|
51
|
+
* NOTE: Schemas are NOT included here - they're stored separately
|
|
52
|
+
* in response-schemas.json for transformation use only
|
|
48
53
|
*/
|
|
49
54
|
export interface OptimizedResponse {
|
|
50
55
|
description: string;
|
|
51
|
-
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Response schema map for transformation logic
|
|
59
|
+
* Indexed by operationId for fast lookup at runtime
|
|
60
|
+
* Stored in separate response-schemas.json file
|
|
61
|
+
*/
|
|
62
|
+
export interface ResponseSchemaMap {
|
|
63
|
+
[operationId: string]: {
|
|
64
|
+
[statusCode: string]: {
|
|
65
|
+
schema?: any;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
52
68
|
}
|
|
53
69
|
/**
|
|
54
70
|
* Build output that will be saved and bundled with the server
|
|
@@ -76,6 +92,12 @@ export interface BuildStats {
|
|
|
76
92
|
optimizedSize: number;
|
|
77
93
|
reductionPercent: number;
|
|
78
94
|
buildDuration: number;
|
|
95
|
+
responseSchemas?: {
|
|
96
|
+
total: number;
|
|
97
|
+
withSchemas: number;
|
|
98
|
+
totalSchemaSize: number;
|
|
99
|
+
averageSchemaSize: number;
|
|
100
|
+
};
|
|
79
101
|
}
|
|
80
102
|
/**
|
|
81
103
|
* Configuration for the build pipeline
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/build/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/build/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"totalEndpoints":
|
|
3
|
-
"originalSize":
|
|
4
|
-
"optimizedSize":
|
|
5
|
-
"reductionPercent": 70.
|
|
6
|
-
"buildDuration":
|
|
2
|
+
"totalEndpoints": 445,
|
|
3
|
+
"originalSize": 2518588,
|
|
4
|
+
"optimizedSize": 753756,
|
|
5
|
+
"reductionPercent": 70.07,
|
|
6
|
+
"buildDuration": 619,
|
|
7
|
+
"responseSchemas": {
|
|
8
|
+
"total": 445,
|
|
9
|
+
"withSchemas": 445,
|
|
10
|
+
"totalSchemaSize": 1374995,
|
|
11
|
+
"averageSchemaSize": 3090
|
|
12
|
+
}
|
|
7
13
|
}
|