mcp4openapi 0.2.4 → 0.2.5
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 +14 -1
- package/dist/scripts/validate-profile.js +3 -1
- package/dist/scripts/validate-profile.js.map +1 -1
- package/dist/src/composite-executor.d.ts.map +1 -1
- package/dist/src/composite-executor.js +1 -3
- package/dist/src/composite-executor.js.map +1 -1
- package/dist/src/errors.js +0 -2
- package/dist/src/errors.js.map +1 -1
- package/dist/src/generated-schemas.d.ts +217 -30
- package/dist/src/generated-schemas.d.ts.map +1 -1
- package/dist/src/generated-schemas.js +15 -2
- package/dist/src/generated-schemas.js.map +1 -1
- package/dist/src/http-client-factory.js +3 -2
- package/dist/src/http-client-factory.js.map +1 -1
- package/dist/src/http-transport.d.ts +9 -2
- package/dist/src/http-transport.d.ts.map +1 -1
- package/dist/src/http-transport.js +133 -36
- package/dist/src/http-transport.js.map +1 -1
- package/dist/src/interceptors.d.ts +34 -0
- package/dist/src/interceptors.d.ts.map +1 -1
- package/dist/src/interceptors.js +90 -6
- package/dist/src/interceptors.js.map +1 -1
- package/dist/src/logger.js +0 -4
- package/dist/src/logger.js.map +1 -1
- package/dist/src/mcp-server.d.ts +7 -0
- package/dist/src/mcp-server.d.ts.map +1 -1
- package/dist/src/mcp-server.js +74 -20
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/metrics.js +0 -17
- package/dist/src/metrics.js.map +1 -1
- package/dist/src/oauth-provider.d.ts +29 -0
- package/dist/src/oauth-provider.d.ts.map +1 -1
- package/dist/src/oauth-provider.js +177 -22
- package/dist/src/oauth-provider.js.map +1 -1
- package/dist/src/openapi-parser.d.ts.map +1 -1
- package/dist/src/openapi-parser.js +4 -3
- package/dist/src/openapi-parser.js.map +1 -1
- package/dist/src/profile-loader.d.ts.map +1 -1
- package/dist/src/profile-loader.js +8 -0
- package/dist/src/profile-loader.js.map +1 -1
- package/dist/src/proxy-executor.d.ts +56 -0
- package/dist/src/proxy-executor.d.ts.map +1 -0
- package/dist/src/proxy-executor.js +155 -0
- package/dist/src/proxy-executor.js.map +1 -0
- package/dist/src/testing/mock-youtrack-server.d.ts +11 -0
- package/dist/src/testing/mock-youtrack-server.d.ts.map +1 -0
- package/dist/src/testing/mock-youtrack-server.js +138 -0
- package/dist/src/testing/mock-youtrack-server.js.map +1 -0
- package/dist/src/testing/test-http-utils.js +1 -3
- package/dist/src/testing/test-http-utils.js.map +1 -1
- package/dist/src/testing/test-types.d.ts +26 -1
- package/dist/src/testing/test-types.d.ts.map +1 -1
- package/dist/src/tool-generator.d.ts +23 -0
- package/dist/src/tool-generator.d.ts.map +1 -1
- package/dist/src/tool-generator.js +55 -5
- package/dist/src/tool-generator.js.map +1 -1
- package/dist/src/types/profile.d.ts +41 -3
- package/dist/src/types/profile.d.ts.map +1 -1
- package/package.json +1 -1
- package/profile-schema.json +70 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-generator.js","sourceRoot":"","sources":["../../src/tool-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,OAAO,aAAa;
|
|
1
|
+
{"version":3,"file":"tool-generator.js","sourceRoot":"","sources":["../../src/tool-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,15 +17,14 @@ export interface Profile {
|
|
|
17
17
|
export interface ToolDefinition {
|
|
18
18
|
name: string;
|
|
19
19
|
description: string;
|
|
20
|
-
operations?: Record<string,
|
|
21
|
-
[key: string]: string;
|
|
22
|
-
};
|
|
20
|
+
operations?: Record<string, OperationDefinition>;
|
|
23
21
|
composite?: boolean;
|
|
24
22
|
steps?: CompositeStep[];
|
|
25
23
|
partial_results?: boolean;
|
|
26
24
|
parameters: Record<string, ParameterDefinition>;
|
|
27
25
|
metadata_params?: string[];
|
|
28
26
|
response_fields?: Record<string, string[]>;
|
|
27
|
+
send_response_fields_as_param?: boolean;
|
|
29
28
|
}
|
|
30
29
|
export interface ParameterDefinition {
|
|
31
30
|
type: 'string' | 'integer' | 'number' | 'boolean' | 'array' | 'object';
|
|
@@ -36,6 +35,7 @@ export interface ParameterDefinition {
|
|
|
36
35
|
items?: {
|
|
37
36
|
type: string;
|
|
38
37
|
};
|
|
38
|
+
properties?: Record<string, unknown>;
|
|
39
39
|
default?: unknown;
|
|
40
40
|
example?: unknown;
|
|
41
41
|
}
|
|
@@ -44,6 +44,44 @@ export interface CompositeStep {
|
|
|
44
44
|
store_as: string;
|
|
45
45
|
depends_on?: string[];
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Proxy download operation configuration
|
|
49
|
+
*
|
|
50
|
+
* Why: Some APIs return file URLs that require authentication.
|
|
51
|
+
* LLM cannot fetch these directly, so we proxy the download.
|
|
52
|
+
*/
|
|
53
|
+
export interface ProxyDownloadOperation {
|
|
54
|
+
/** Must be 'proxy_download' */
|
|
55
|
+
type: 'proxy_download';
|
|
56
|
+
/** OpenAPI operation ID to fetch metadata (e.g., 'get_/issues/{id}/attachments/{attachmentId}') */
|
|
57
|
+
metadata_endpoint: string;
|
|
58
|
+
/** JSON path to URL field in metadata response (default: 'url') */
|
|
59
|
+
url_field?: string;
|
|
60
|
+
/** Maximum file size in bytes (default: 10MB = 10485760) */
|
|
61
|
+
max_size_bytes?: number;
|
|
62
|
+
/** Optional environment variable that overrides max_size_bytes (e.g., 'CUSTOM_PROXY_MAX_BYTES') */
|
|
63
|
+
max_size_bytes_from_env?: string;
|
|
64
|
+
/** Timeout for download in milliseconds (default: 30000) */
|
|
65
|
+
timeout_ms?: number;
|
|
66
|
+
/** Optional MIME type whitelist (e.g., ['image/*', 'application/pdf']) */
|
|
67
|
+
allowed_mime_types?: string[];
|
|
68
|
+
/**
|
|
69
|
+
* Skip authentication for download URL (default: false)
|
|
70
|
+
*
|
|
71
|
+
* Set to true for pre-signed URLs or public download links that don't need auth.
|
|
72
|
+
* Metadata endpoint still uses normal authentication, only the file download is unauthenticated.
|
|
73
|
+
*
|
|
74
|
+
* Example use cases:
|
|
75
|
+
* - AWS S3 pre-signed URLs (https://bucket.s3.amazonaws.com/file?X-Amz-Signature=...)
|
|
76
|
+
* - Azure Blob Storage SAS tokens (https://storage.blob.core.windows.net/container/file?sv=...)
|
|
77
|
+
* - Temporary download URLs with embedded tokens
|
|
78
|
+
*/
|
|
79
|
+
skip_auth?: boolean;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Extended operation definition supporting proxy_download
|
|
83
|
+
*/
|
|
84
|
+
export type OperationDefinition = string | ProxyDownloadOperation;
|
|
47
85
|
export interface InterceptorConfig {
|
|
48
86
|
auth?: AuthInterceptor | AuthInterceptor[];
|
|
49
87
|
base_url?: BaseUrlConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/types/profile.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAG7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAGpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/types/profile.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/profile-schema.json
CHANGED
|
@@ -109,9 +109,14 @@
|
|
|
109
109
|
}
|
|
110
110
|
]
|
|
111
111
|
},
|
|
112
|
+
"send_response_fields_as_param": {
|
|
113
|
+
"type": "boolean",
|
|
114
|
+
"description": "If true, send response_fields as 'fields' query parameter (e.g. for YouTrack)",
|
|
115
|
+
"default": false
|
|
116
|
+
},
|
|
112
117
|
"steps": {
|
|
113
118
|
"type": "array",
|
|
114
|
-
"description": "
|
|
119
|
+
"description": "Steps for composite tool execution",
|
|
115
120
|
"items": {
|
|
116
121
|
"$ref": "#/definitions/CompositeStep"
|
|
117
122
|
}
|
|
@@ -137,7 +142,18 @@
|
|
|
137
142
|
"required": ["operations"],
|
|
138
143
|
"properties": {
|
|
139
144
|
"operations": {
|
|
140
|
-
"type": "object"
|
|
145
|
+
"type": "object",
|
|
146
|
+
"additionalProperties": {
|
|
147
|
+
"oneOf": [
|
|
148
|
+
{
|
|
149
|
+
"type": "string",
|
|
150
|
+
"description": "OpenAPI operation ID"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"$ref": "#/definitions/ProxyDownloadOperation"
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
}
|
|
141
157
|
}
|
|
142
158
|
}
|
|
143
159
|
},
|
|
@@ -198,6 +214,11 @@
|
|
|
198
214
|
}
|
|
199
215
|
}
|
|
200
216
|
},
|
|
217
|
+
"properties": {
|
|
218
|
+
"type": "object",
|
|
219
|
+
"description": "Properties schema for object parameters (empty {} = free-form object)",
|
|
220
|
+
"additionalProperties": true
|
|
221
|
+
},
|
|
201
222
|
"default": {
|
|
202
223
|
"description": "Default value if not provided"
|
|
203
224
|
},
|
|
@@ -525,6 +546,53 @@
|
|
|
525
546
|
"examples": [[429, 502, 503, 504]]
|
|
526
547
|
}
|
|
527
548
|
}
|
|
549
|
+
},
|
|
550
|
+
"ProxyDownloadOperation": {
|
|
551
|
+
"type": "object",
|
|
552
|
+
"required": ["type", "metadata_endpoint"],
|
|
553
|
+
"properties": {
|
|
554
|
+
"type": {
|
|
555
|
+
"const": "proxy_download",
|
|
556
|
+
"description": "Must be 'proxy_download'"
|
|
557
|
+
},
|
|
558
|
+
"metadata_endpoint": {
|
|
559
|
+
"type": "string",
|
|
560
|
+
"description": "OpenAPI operation ID to fetch metadata (e.g., 'get_/issues/{id}/attachments/{attachmentId}')"
|
|
561
|
+
},
|
|
562
|
+
"url_field": {
|
|
563
|
+
"type": "string",
|
|
564
|
+
"description": "JSON path to URL field in metadata response",
|
|
565
|
+
"default": "url"
|
|
566
|
+
},
|
|
567
|
+
"max_size_bytes": {
|
|
568
|
+
"type": "number",
|
|
569
|
+
"description": "Maximum file size in bytes",
|
|
570
|
+
"default": 10485760,
|
|
571
|
+
"minimum": 1
|
|
572
|
+
},
|
|
573
|
+
"max_size_bytes_from_env": {
|
|
574
|
+
"type": "string",
|
|
575
|
+
"description": "Environment variable that overrides max_size_bytes when set"
|
|
576
|
+
},
|
|
577
|
+
"timeout_ms": {
|
|
578
|
+
"type": "number",
|
|
579
|
+
"description": "Timeout for download in milliseconds",
|
|
580
|
+
"default": 30000,
|
|
581
|
+
"minimum": 1000
|
|
582
|
+
},
|
|
583
|
+
"allowed_mime_types": {
|
|
584
|
+
"type": "array",
|
|
585
|
+
"description": "Optional MIME type whitelist (e.g., ['image/*', 'application/pdf'])",
|
|
586
|
+
"items": {
|
|
587
|
+
"type": "string"
|
|
588
|
+
}
|
|
589
|
+
},
|
|
590
|
+
"skip_auth": {
|
|
591
|
+
"type": "boolean",
|
|
592
|
+
"description": "Skip authentication for download URL (default: false). Set to true for pre-signed URLs.",
|
|
593
|
+
"default": false
|
|
594
|
+
}
|
|
595
|
+
}
|
|
528
596
|
}
|
|
529
597
|
}
|
|
530
598
|
}
|