@integsec/mcp-pentester-cli 1.0.5 → 1.0.7
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 +35 -3
- package/dist/index.js +16 -5
- package/dist/index.js.map +1 -1
- package/dist/mcp-client.d.ts.map +1 -1
- package/dist/mcp-client.js +50 -11
- package/dist/mcp-client.js.map +1 -1
- package/dist/transport/http.d.ts +1 -0
- package/dist/transport/http.d.ts.map +1 -1
- package/dist/transport/http.js +82 -2
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/sse.d.ts +25 -0
- package/dist/transport/sse.d.ts.map +1 -0
- package/dist/transport/sse.js +346 -0
- package/dist/transport/sse.js.map +1 -0
- package/dist/transport/stdio.d.ts.map +1 -1
- package/dist/transport/stdio.js +2 -1
- package/dist/transport/stdio.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/tui.d.ts.map +1 -1
- package/dist/ui/tui.js +123 -20
- package/dist/ui/tui.js.map +1 -1
- package/examples/sse-basic-config.json +8 -0
- package/examples/sse-docker-gateway-config.json +8 -0
- package/examples/sse-proxy-config.json +17 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,6 +12,7 @@ A free, open-source interactive console tool for penetration testers to interact
|
|
|
12
12
|
- stdio (process communication)
|
|
13
13
|
- HTTP/HTTPS
|
|
14
14
|
- WebSocket (ws/wss)
|
|
15
|
+
- SSE (Server-Sent Events) - for Docker MCP Gateway and streaming servers
|
|
15
16
|
|
|
16
17
|
- **Authentication Support**
|
|
17
18
|
- Bearer token authentication
|
|
@@ -124,6 +125,14 @@ mcp-pentester-cli connect --transport http --url "http://localhost:3000/mcp" --p
|
|
|
124
125
|
mcp-pentester-cli connect --transport wss --url "wss://api.example.com/mcp" --proxy-host 127.0.0.1 --proxy-port 9050 --proxy-protocol socks5
|
|
125
126
|
```
|
|
126
127
|
|
|
128
|
+
### Connect to Docker MCP Gateway via SSE
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
mcp-pentester-cli connect --transport sse \
|
|
132
|
+
--url "http://127.0.0.1:8811/sse?sessionid=YOUR_SESSION_ID" \
|
|
133
|
+
--auth-type bearer --auth-token "YOUR_BEARER_TOKEN"
|
|
134
|
+
```
|
|
135
|
+
|
|
127
136
|
### Using Configuration Files
|
|
128
137
|
|
|
129
138
|
Generate example configs:
|
|
@@ -146,7 +155,7 @@ mcp-pentester-cli connect --config examples/http-burp-config.json
|
|
|
146
155
|
mcp-pentester-cli connect [options]
|
|
147
156
|
|
|
148
157
|
Options:
|
|
149
|
-
-t, --transport <type> Transport type: stdio, http, https, ws, wss (default: "stdio")
|
|
158
|
+
-t, --transport <type> Transport type: stdio, http, https, ws, wss, sse (default: "stdio")
|
|
150
159
|
-u, --url <url> URL for HTTP/WebSocket transports
|
|
151
160
|
-c, --command <command> Command for stdio transport
|
|
152
161
|
-a, --args <args...> Arguments for stdio command
|
|
@@ -208,7 +217,7 @@ Options:
|
|
|
208
217
|
|
|
209
218
|
**Available configuration options:**
|
|
210
219
|
|
|
211
|
-
- `type` - Transport type: `stdio`, `http`, `https`, `ws`, `wss`
|
|
220
|
+
- `type` - Transport type: `stdio`, `http`, `https`, `ws`, `wss`, `sse`
|
|
212
221
|
- `url` - Server URL (for HTTP/WebSocket transports)
|
|
213
222
|
- `command` - Command to execute (for stdio transport)
|
|
214
223
|
- `args` - Command arguments array (for stdio transport)
|
|
@@ -341,6 +350,28 @@ mcp-pentester-cli connect --transport https --url "https://api.example.com/mcp"
|
|
|
341
350
|
--header "X-API-Key: your-api-key-here" --header "X-Custom-Header: custom-value"
|
|
342
351
|
```
|
|
343
352
|
|
|
353
|
+
### SSE Transport (Docker MCP Gateway)
|
|
354
|
+
|
|
355
|
+
```json
|
|
356
|
+
{
|
|
357
|
+
"type": "sse",
|
|
358
|
+
"url": "http://127.0.0.1:8811/sse?sessionid=YOUR_SESSION_ID",
|
|
359
|
+
"auth": {
|
|
360
|
+
"type": "bearer",
|
|
361
|
+
"token": "YOUR_BEARER_TOKEN"
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
CLI equivalent:
|
|
367
|
+
```bash
|
|
368
|
+
mcp-pentester-cli connect --transport sse \
|
|
369
|
+
--url "http://127.0.0.1:8811/sse?sessionid=1hn5f0et4mh9qh35yshkm368eyh0if9hdafttddv2nvaw9cmqh" \
|
|
370
|
+
--auth-type bearer --auth-token "1hn5f0et4mh9qh35yshkm368eyh0if9hdafttddv2nvaw9cmqh"
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
**Note:** SSE (Server-Sent Events) transport is ideal for Docker MCP Gateway and other streaming MCP servers. It uses HTTP POST for sending requests and maintains a persistent SSE connection for receiving server responses and notifications.
|
|
374
|
+
|
|
344
375
|
### Bearer Auth + Proxy (Burp Suite)
|
|
345
376
|
|
|
346
377
|
```json
|
|
@@ -489,7 +520,8 @@ src/
|
|
|
489
520
|
│ ├── base.ts # Base transport abstraction
|
|
490
521
|
│ ├── stdio.ts # stdio transport
|
|
491
522
|
│ ├── http.ts # HTTP/HTTPS transport
|
|
492
|
-
│
|
|
523
|
+
│ ├── websocket.ts # WebSocket transport
|
|
524
|
+
│ └── sse.ts # SSE (Server-Sent Events) transport
|
|
493
525
|
└── ui/
|
|
494
526
|
└── tui.ts # Terminal UI
|
|
495
527
|
```
|
package/dist/index.js
CHANGED
|
@@ -51,7 +51,7 @@ program
|
|
|
51
51
|
program
|
|
52
52
|
.command('connect')
|
|
53
53
|
.description('Connect to an MCP server')
|
|
54
|
-
.option('-t, --transport <type>', 'Transport type: stdio, http, https, ws, wss', 'stdio')
|
|
54
|
+
.option('-t, --transport <type>', 'Transport type: stdio, http, https, ws, wss, sse', 'stdio')
|
|
55
55
|
.option('-u, --url <url>', 'URL for HTTP/WebSocket transports')
|
|
56
56
|
.option('-c, --command <command>', 'Command for stdio transport')
|
|
57
57
|
.option('-a, --args <args...>', 'Arguments for stdio command')
|
|
@@ -78,7 +78,10 @@ program
|
|
|
78
78
|
try {
|
|
79
79
|
const configPath = path.resolve(options.config);
|
|
80
80
|
const configData = fs.readFileSync(configPath, 'utf-8');
|
|
81
|
-
|
|
81
|
+
const parsedConfig = JSON.parse(configData);
|
|
82
|
+
// Remove _saved metadata if present (from previously saved connection files)
|
|
83
|
+
const { _saved, ...cleanConfig } = parsedConfig;
|
|
84
|
+
config = cleanConfig;
|
|
82
85
|
}
|
|
83
86
|
catch (error) {
|
|
84
87
|
console.error(`Failed to load config file: ${error}`);
|
|
@@ -94,8 +97,16 @@ program
|
|
|
94
97
|
config.url = options.url;
|
|
95
98
|
}
|
|
96
99
|
if (options.command) {
|
|
97
|
-
|
|
98
|
-
|
|
100
|
+
// If no explicit args provided and command contains spaces, parse it
|
|
101
|
+
if (!options.args || options.args.length === 0) {
|
|
102
|
+
const parts = options.command.match(/(?:[^\s"]+|"[^"]*")+/g) || [options.command];
|
|
103
|
+
config.command = parts[0].replace(/"/g, '');
|
|
104
|
+
config.args = parts.slice(1).map((arg) => arg.replace(/"/g, ''));
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
config.command = options.command;
|
|
108
|
+
config.args = options.args;
|
|
109
|
+
}
|
|
99
110
|
}
|
|
100
111
|
if (options.proxyHost && options.proxyPort) {
|
|
101
112
|
config.proxy = {
|
|
@@ -155,7 +166,7 @@ program
|
|
|
155
166
|
process.exit(1);
|
|
156
167
|
}
|
|
157
168
|
if ((config.type === 'http' || config.type === 'https' ||
|
|
158
|
-
config.type === 'ws' || config.type === 'wss') && !config.url) {
|
|
169
|
+
config.type === 'ws' || config.type === 'wss' || config.type === 'sse') && !config.url) {
|
|
159
170
|
console.error(`Error: --url is required for ${config.type} transport`);
|
|
160
171
|
process.exit(1);
|
|
161
172
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,6CAAyC;AACzC,kCAA+B;AAE/B,uCAAyB;AACzB,2CAA6B;AAE7B,iCAAiC;AACjC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAChE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1E,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC;AAE/C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,mBAAmB,CAAC;KACzB,WAAW,CAAC,sEAAsE,CAAC;KACnF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,OAAO,EACL,eAAe,EAEf,OAAO,EACP,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,qBAAa,SAAU,SAAQ,YAAY;IAU7B,OAAO,CAAC,MAAM;IAT1B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,KAAK,CAMX;gBAEkB,MAAM,EAAE,eAAe;IAIrC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA6FxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAQnB,UAAU;IAqBlB,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAe/B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAOpD,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAevC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvC,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAenC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAOrD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC,QAAQ,IAAI,cAAc;IAI1B,aAAa,IAAI,UAAU,EAAE;IAI7B,eAAe,IAAI,IAAI;IAIvB,OAAO,CAAC,UAAU;CAcnB"}
|
package/dist/mcp-client.js
CHANGED
|
@@ -5,6 +5,7 @@ const events_1 = require("events");
|
|
|
5
5
|
const stdio_1 = require("./transport/stdio");
|
|
6
6
|
const http_1 = require("./transport/http");
|
|
7
7
|
const websocket_1 = require("./transport/websocket");
|
|
8
|
+
const sse_1 = require("./transport/sse");
|
|
8
9
|
class MCPClient extends events_1.EventEmitter {
|
|
9
10
|
constructor(config) {
|
|
10
11
|
super();
|
|
@@ -40,6 +41,12 @@ class MCPClient extends events_1.EventEmitter {
|
|
|
40
41
|
}
|
|
41
42
|
this.transport = new websocket_1.WebSocketTransport(this.config.url, this.config.proxy, this.config.auth, this.config.certificate, this.config.headers);
|
|
42
43
|
break;
|
|
44
|
+
case 'sse':
|
|
45
|
+
if (!this.config.url) {
|
|
46
|
+
throw new Error('URL required for SSE transport');
|
|
47
|
+
}
|
|
48
|
+
this.transport = new sse_1.SSETransport(this.config.url, this.config.proxy, this.config.auth, this.config.certificate, this.config.headers);
|
|
49
|
+
break;
|
|
43
50
|
default:
|
|
44
51
|
throw new Error(`Unsupported transport type: ${this.config.type}`);
|
|
45
52
|
}
|
|
@@ -95,9 +102,19 @@ class MCPClient extends events_1.EventEmitter {
|
|
|
95
102
|
return result;
|
|
96
103
|
}
|
|
97
104
|
async listTools() {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
105
|
+
try {
|
|
106
|
+
const result = await this.transport.request('tools/list');
|
|
107
|
+
this.state.tools = result.tools || [];
|
|
108
|
+
return this.state.tools;
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
// If method not supported, return empty array silently
|
|
112
|
+
if (error?.message?.includes('not a function') || error?.message?.includes('not found') || error?.code === -32601) {
|
|
113
|
+
this.state.tools = [];
|
|
114
|
+
return [];
|
|
115
|
+
}
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
101
118
|
}
|
|
102
119
|
async callTool(name, args = {}) {
|
|
103
120
|
return await this.transport.request('tools/call', {
|
|
@@ -106,17 +123,37 @@ class MCPClient extends events_1.EventEmitter {
|
|
|
106
123
|
});
|
|
107
124
|
}
|
|
108
125
|
async listResources() {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
126
|
+
try {
|
|
127
|
+
const result = await this.transport.request('resources/list');
|
|
128
|
+
this.state.resources = result.resources || [];
|
|
129
|
+
return this.state.resources;
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
// If method not supported, return empty array silently
|
|
133
|
+
if (error?.message?.includes('not a function') || error?.message?.includes('not found') || error?.code === -32601) {
|
|
134
|
+
this.state.resources = [];
|
|
135
|
+
return [];
|
|
136
|
+
}
|
|
137
|
+
throw error;
|
|
138
|
+
}
|
|
112
139
|
}
|
|
113
140
|
async readResource(uri) {
|
|
114
141
|
return await this.transport.request('resources/read', { uri });
|
|
115
142
|
}
|
|
116
143
|
async listPrompts() {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
144
|
+
try {
|
|
145
|
+
const result = await this.transport.request('prompts/list');
|
|
146
|
+
this.state.prompts = result.prompts || [];
|
|
147
|
+
return this.state.prompts;
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
// If method not supported, return empty array silently
|
|
151
|
+
if (error?.message?.includes('not a function') || error?.message?.includes('not found') || error?.code === -32601) {
|
|
152
|
+
this.state.prompts = [];
|
|
153
|
+
return [];
|
|
154
|
+
}
|
|
155
|
+
throw error;
|
|
156
|
+
}
|
|
120
157
|
}
|
|
121
158
|
async getPrompt(name, args = {}) {
|
|
122
159
|
return await this.transport.request('prompts/get', {
|
|
@@ -126,11 +163,13 @@ class MCPClient extends events_1.EventEmitter {
|
|
|
126
163
|
}
|
|
127
164
|
async refreshAll() {
|
|
128
165
|
try {
|
|
129
|
-
|
|
166
|
+
// Always try to fetch all lists - servers should return errors if not supported
|
|
167
|
+
const promises = [
|
|
130
168
|
this.listTools().catch(() => []),
|
|
131
169
|
this.listResources().catch(() => []),
|
|
132
170
|
this.listPrompts().catch(() => []),
|
|
133
|
-
]
|
|
171
|
+
];
|
|
172
|
+
await Promise.all(promises);
|
|
134
173
|
}
|
|
135
174
|
catch (error) {
|
|
136
175
|
// Ignore errors during refresh
|
package/dist/mcp-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAEtC,6CAAmD;AACnD,2CAAiD;AACjD,qDAA2D;
|
|
1
|
+
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"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"}
|
package/dist/transport/http.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare class HttpTransport extends Transport {
|
|
|
9
9
|
private isHttps;
|
|
10
10
|
private authHeaders;
|
|
11
11
|
private customHeaders;
|
|
12
|
+
private cookies;
|
|
12
13
|
constructor(url: string, proxyConfig?: ProxyConfig | undefined, authConfig?: AuthConfig | undefined, certificateConfig?: CertificateConfig | undefined, customHeaders?: Record<string, string>);
|
|
13
14
|
private setupAuthHeaders;
|
|
14
15
|
private setupAgent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,cAAc,EAAmB,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE5H,qBAAa,aAAc,SAAQ,SAAS;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,cAAc,EAAmB,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE5H,qBAAa,aAAc,SAAQ,SAAS;IAQxC,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,iBAAiB,CAAC;IAV5B,OAAO,CAAC,KAAK,CAAC,CAA2B;IACzC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,OAAO,CAAkC;gBAGvC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,WAAW,YAAA,EACzB,UAAU,CAAC,EAAE,UAAU,YAAA,EACvB,iBAAiB,CAAC,EAAE,iBAAiB,YAAA,EAC7C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IASxC,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,UAAU;IA+CZ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CA8ItE"}
|
package/dist/transport/http.js
CHANGED
|
@@ -50,6 +50,7 @@ class HttpTransport extends base_1.Transport {
|
|
|
50
50
|
this.certificateConfig = certificateConfig;
|
|
51
51
|
this.authHeaders = {};
|
|
52
52
|
this.customHeaders = {};
|
|
53
|
+
this.cookies = new Map();
|
|
53
54
|
this.isHttps = url.startsWith('https://');
|
|
54
55
|
this.customHeaders = customHeaders || {};
|
|
55
56
|
this.setupAuthHeaders();
|
|
@@ -146,6 +147,7 @@ class HttpTransport extends base_1.Transport {
|
|
|
146
147
|
'Content-Length': Buffer.byteLength(payload),
|
|
147
148
|
...this.customHeaders,
|
|
148
149
|
...this.authHeaders,
|
|
150
|
+
...(this.cookies.size > 0 ? { 'Cookie': Array.from(this.cookies.entries()).map(([k, v]) => `${k}=${v}`).join('; ') } : {}),
|
|
149
151
|
},
|
|
150
152
|
agent: this.agent,
|
|
151
153
|
};
|
|
@@ -156,11 +158,82 @@ class HttpTransport extends base_1.Transport {
|
|
|
156
158
|
});
|
|
157
159
|
res.on('end', () => {
|
|
158
160
|
try {
|
|
161
|
+
// Extract cookies from response headers
|
|
162
|
+
const setCookieHeaders = res.headers['set-cookie'];
|
|
163
|
+
if (setCookieHeaders) {
|
|
164
|
+
for (const cookieHeader of Array.isArray(setCookieHeaders) ? setCookieHeaders : [setCookieHeaders]) {
|
|
165
|
+
// Parse cookie (simple version - just get name=value)
|
|
166
|
+
const cookieMatch = cookieHeader.match(/^([^=]+)=([^;]+)/);
|
|
167
|
+
if (cookieMatch) {
|
|
168
|
+
const cookieName = cookieMatch[1].trim();
|
|
169
|
+
const cookieValue = cookieMatch[2].trim();
|
|
170
|
+
this.cookies.set(cookieName, cookieValue);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// Check HTTP status code first
|
|
175
|
+
if (res.statusCode && res.statusCode >= 400) {
|
|
176
|
+
// HTTP error status - provide helpful error message
|
|
177
|
+
const contentType = res.headers['content-type'] || '';
|
|
178
|
+
const isJson = contentType.includes('application/json');
|
|
179
|
+
let errorMessage = `HTTP ${res.statusCode} ${res.statusMessage || 'Error'}`;
|
|
180
|
+
if (responseData.trim()) {
|
|
181
|
+
if (isJson) {
|
|
182
|
+
try {
|
|
183
|
+
const errorBody = JSON.parse(responseData);
|
|
184
|
+
if (errorBody.error || errorBody.message) {
|
|
185
|
+
errorMessage += `: ${errorBody.error || errorBody.message}`;
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
errorMessage += `: ${responseData.substring(0, 200)}`;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
errorMessage += `: ${responseData.substring(0, 200)}`;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
// Plain text error response
|
|
197
|
+
const textResponse = responseData.trim().substring(0, 200);
|
|
198
|
+
errorMessage += `: ${textResponse}`;
|
|
199
|
+
// Provide helpful hint for common errors
|
|
200
|
+
if (res.statusCode === 401) {
|
|
201
|
+
errorMessage += ' (Authentication required - check your auth token/credentials)';
|
|
202
|
+
}
|
|
203
|
+
else if (res.statusCode === 403) {
|
|
204
|
+
errorMessage += ' (Forbidden - check your permissions)';
|
|
205
|
+
}
|
|
206
|
+
else if (res.statusCode === 404) {
|
|
207
|
+
errorMessage += ' (Not found - check the URL path)';
|
|
208
|
+
}
|
|
209
|
+
else if (res.statusCode === 400 && textResponse.toLowerCase().includes('sessionid')) {
|
|
210
|
+
errorMessage += '\n\nTip: The server requires a sessionid. This is typically provided by:';
|
|
211
|
+
errorMessage += '\n 1. A Set-Cookie header in a previous response (check cookies)';
|
|
212
|
+
errorMessage += '\n 2. A separate authentication endpoint';
|
|
213
|
+
errorMessage += '\n 3. As a custom header: --header "sessionid: VALUE"';
|
|
214
|
+
errorMessage += '\n 4. As a query parameter: --url "http://...?sessionid=VALUE"';
|
|
215
|
+
// Check if we have any cookies
|
|
216
|
+
if (this.cookies.size > 0) {
|
|
217
|
+
errorMessage += '\n\nCookies received from server:';
|
|
218
|
+
for (const [name, value] of this.cookies.entries()) {
|
|
219
|
+
errorMessage += `\n ${name}=${value.substring(0, 20)}${value.length > 20 ? '...' : ''}`;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
const httpError = new Error(errorMessage);
|
|
226
|
+
httpError.statusCode = res.statusCode;
|
|
227
|
+
this.emit('error', httpError);
|
|
228
|
+
reject(httpError);
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
159
231
|
// If there's no response data, just resolve (for notifications)
|
|
160
232
|
if (!responseData.trim()) {
|
|
161
233
|
resolve();
|
|
162
234
|
return;
|
|
163
235
|
}
|
|
236
|
+
// Try to parse as JSON
|
|
164
237
|
const response = JSON.parse(responseData);
|
|
165
238
|
this.emit('receive', response);
|
|
166
239
|
if ('result' in response || 'error' in response) {
|
|
@@ -172,8 +245,15 @@ class HttpTransport extends base_1.Transport {
|
|
|
172
245
|
resolve();
|
|
173
246
|
}
|
|
174
247
|
catch (error) {
|
|
175
|
-
|
|
176
|
-
|
|
248
|
+
// JSON parse error - provide better error message
|
|
249
|
+
if (error instanceof SyntaxError && responseData.trim()) {
|
|
250
|
+
const preview = responseData.trim().substring(0, 200);
|
|
251
|
+
reject(new Error(`Server returned non-JSON response (HTTP ${res.statusCode || '?'}): ${preview}${responseData.length > 200 ? '...' : ''}`));
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
255
|
+
reject(new Error(`Failed to process HTTP response: ${errorMessage}`));
|
|
256
|
+
}
|
|
177
257
|
}
|
|
178
258
|
});
|
|
179
259
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,6CAA+B;AAC/B,uCAAyB;AACzB,uDAAkD;AAClD,yDAAoD;AACpD,yDAAoD;AACpD,iCAAmC;AAGnC,MAAa,aAAc,SAAQ,gBAAS;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Transport } from './base';
|
|
2
|
+
import { JsonRpcRequest, JsonRpcNotification, ProxyConfig, AuthConfig, CertificateConfig } from '../types';
|
|
3
|
+
export declare class SSETransport extends Transport {
|
|
4
|
+
private url;
|
|
5
|
+
private proxyConfig?;
|
|
6
|
+
private authConfig?;
|
|
7
|
+
private certificateConfig?;
|
|
8
|
+
private agent?;
|
|
9
|
+
private isHttps;
|
|
10
|
+
private authHeaders;
|
|
11
|
+
private customHeaders;
|
|
12
|
+
private sseStream?;
|
|
13
|
+
private lastEventId?;
|
|
14
|
+
private reconnecting;
|
|
15
|
+
private endpoint;
|
|
16
|
+
constructor(url: string, proxyConfig?: ProxyConfig | undefined, authConfig?: AuthConfig | undefined, certificateConfig?: CertificateConfig | undefined, customHeaders?: Record<string, string>);
|
|
17
|
+
private setupAuthHeaders;
|
|
18
|
+
private setupAgent;
|
|
19
|
+
connect(): Promise<void>;
|
|
20
|
+
private openSSEStream;
|
|
21
|
+
private handleSSEEvent;
|
|
22
|
+
disconnect(): Promise<void>;
|
|
23
|
+
send(data: JsonRpcRequest | JsonRpcNotification): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=sse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/transport/sse.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,cAAc,EAAmB,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAQ5H,qBAAa,YAAa,SAAQ,SAAS;IAWvC,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,iBAAiB,CAAC;IAb5B,OAAO,CAAC,KAAK,CAAC,CAA2B;IACzC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,SAAS,CAAC,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAS;gBAGf,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,WAAW,YAAA,EACzB,UAAU,CAAC,EAAE,UAAU,YAAA,EACvB,iBAAiB,CAAC,EAAE,iBAAiB,YAAA,EAC7C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAcxC,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,UAAU;IA+CZ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAMhB,aAAa;IAkF3B,OAAO,CAAC,cAAc;IAyChB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CA0GtE"}
|