@nimbletools/mcp-http-bridge 1.0.3 → 1.0.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 +18 -1
- package/dist/bridge.d.ts +2 -0
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +67 -2
- package/dist/bridge.js.map +1 -1
- package/package.json +7 -8
package/README.md
CHANGED
|
@@ -21,6 +21,14 @@ Or use directly with npx:
|
|
|
21
21
|
npx @nimbletools/mcp-http-bridge --endpoint "https://..." --token "..."
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
+
### Updating
|
|
25
|
+
|
|
26
|
+
To update to the latest version:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install -g @nimbletools/mcp-http-bridge@latest
|
|
30
|
+
```
|
|
31
|
+
|
|
24
32
|
## Usage
|
|
25
33
|
|
|
26
34
|
### Command Line
|
|
@@ -88,12 +96,21 @@ The bridge acts as a protocol translator:
|
|
|
88
96
|
|
|
89
97
|
1. **Input**: Accepts MCP JSON-RPC messages via stdin
|
|
90
98
|
2. **Translation**: Forwards them as HTTP POST requests to your endpoint
|
|
91
|
-
3. **
|
|
99
|
+
3. **Session Management**: Automatically captures and manages `mcp-session-id` headers
|
|
100
|
+
4. **Output**: Returns responses via stdout in MCP format
|
|
92
101
|
|
|
93
102
|
```
|
|
94
103
|
Claude Code ↔ stdio/JSON-RPC ↔ MCP HTTP Bridge ↔ HTTP/JSON ↔ Your MCP Service
|
|
95
104
|
```
|
|
96
105
|
|
|
106
|
+
### Features
|
|
107
|
+
|
|
108
|
+
- ✅ **Session ID Management**: Automatically captures and includes `mcp-session-id` headers
|
|
109
|
+
- ✅ **Server-Sent Events**: Supports both JSON and SSE response formats
|
|
110
|
+
- ✅ **Content Type Negotiation**: Accepts `application/json` and `text/event-stream`
|
|
111
|
+
- ✅ **Error Handling**: Robust retry logic with exponential backoff
|
|
112
|
+
- ✅ **Authentication**: Bearer token support
|
|
113
|
+
|
|
97
114
|
## Authentication
|
|
98
115
|
|
|
99
116
|
The bridge adds Bearer token authentication to all HTTP requests:
|
package/dist/bridge.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ interface BridgeConfig {
|
|
|
9
9
|
export declare class MCPHttpBridge {
|
|
10
10
|
private config;
|
|
11
11
|
private axiosInstance;
|
|
12
|
+
private sessionId;
|
|
12
13
|
constructor(config: BridgeConfig);
|
|
13
14
|
start(): Promise<void>;
|
|
14
15
|
private handleMCPRequest;
|
|
@@ -16,6 +17,7 @@ export declare class MCPHttpBridge {
|
|
|
16
17
|
private makeHttpRequest;
|
|
17
18
|
private createErrorResponse;
|
|
18
19
|
private sendResponse;
|
|
20
|
+
private parseSSEResponse;
|
|
19
21
|
private sleep;
|
|
20
22
|
private shutdown;
|
|
21
23
|
}
|
package/dist/bridge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":";AAuBA,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":";AAuBA,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,SAAS,CAAuB;gBAE5B,MAAM,EAAE,YAAY;IAsB1B,KAAK;YAkCG,gBAAgB;YA+BhB,iBAAiB;YAqDjB,eAAe;IAqE7B,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,QAAQ;CAIjB"}
|
package/dist/bridge.js
CHANGED
|
@@ -3,12 +3,14 @@ import axios from 'axios';
|
|
|
3
3
|
import https from 'https';
|
|
4
4
|
export class MCPHttpBridge {
|
|
5
5
|
constructor(config) {
|
|
6
|
+
this.sessionId = null;
|
|
6
7
|
this.config = config;
|
|
7
8
|
const axiosConfig = {
|
|
8
9
|
timeout: config.timeout,
|
|
9
10
|
headers: {
|
|
10
11
|
'Authorization': `Bearer ${config.bearerToken}`,
|
|
11
12
|
'Content-Type': 'application/json',
|
|
13
|
+
'Accept': 'application/json, text/event-stream',
|
|
12
14
|
},
|
|
13
15
|
};
|
|
14
16
|
// Add HTTPS agent for SSL configuration
|
|
@@ -123,8 +125,46 @@ export class MCPHttpBridge {
|
|
|
123
125
|
let lastError;
|
|
124
126
|
for (let attempt = 1; attempt <= retries; attempt++) {
|
|
125
127
|
try {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
+
// Add session ID header if we have one
|
|
129
|
+
const requestConfig = {
|
|
130
|
+
responseType: 'text',
|
|
131
|
+
transformResponse: [(data) => data] // Don't auto-parse JSON
|
|
132
|
+
};
|
|
133
|
+
if (this.sessionId) {
|
|
134
|
+
requestConfig.headers = {
|
|
135
|
+
'mcp-session-id': this.sessionId
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
const response = await this.axiosInstance.post(this.config.endpoint, request, requestConfig);
|
|
139
|
+
// Capture session ID from response headers if present
|
|
140
|
+
const sessionId = response.headers['mcp-session-id'];
|
|
141
|
+
if (sessionId && !this.sessionId) {
|
|
142
|
+
this.sessionId = sessionId;
|
|
143
|
+
if (process.env.MCP_BRIDGE_VERBOSE === 'true') {
|
|
144
|
+
console.error(`[Bridge] Captured session ID: ${sessionId}`);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// Handle SSE responses
|
|
148
|
+
const contentType = response.headers['content-type'];
|
|
149
|
+
if (contentType && contentType.includes('text/event-stream')) {
|
|
150
|
+
const sseData = this.parseSSEResponse(response.data);
|
|
151
|
+
return {
|
|
152
|
+
...response,
|
|
153
|
+
data: sseData
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
// Handle regular JSON responses
|
|
157
|
+
try {
|
|
158
|
+
const jsonData = JSON.parse(response.data);
|
|
159
|
+
return {
|
|
160
|
+
...response,
|
|
161
|
+
data: jsonData
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
// If it's not valid JSON, return as-is
|
|
166
|
+
return response;
|
|
167
|
+
}
|
|
128
168
|
}
|
|
129
169
|
catch (error) {
|
|
130
170
|
lastError = error;
|
|
@@ -189,6 +229,31 @@ export class MCPHttpBridge {
|
|
|
189
229
|
}
|
|
190
230
|
}
|
|
191
231
|
}
|
|
232
|
+
parseSSEResponse(sseText) {
|
|
233
|
+
const lines = sseText.split('\n');
|
|
234
|
+
let jsonData = '';
|
|
235
|
+
for (const line of lines) {
|
|
236
|
+
if (line.startsWith('data: ')) {
|
|
237
|
+
const data = line.slice(6); // Remove 'data: ' prefix
|
|
238
|
+
if (data.trim() === '[DONE]') {
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
jsonData += data;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
if (jsonData) {
|
|
245
|
+
try {
|
|
246
|
+
return JSON.parse(jsonData);
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
if (process.env.MCP_BRIDGE_VERBOSE === 'true') {
|
|
250
|
+
console.error(`[Bridge] Failed to parse SSE JSON: ${error instanceof Error ? error.message : String(error)}`);
|
|
251
|
+
}
|
|
252
|
+
return { error: 'Failed to parse SSE response' };
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return null;
|
|
256
|
+
}
|
|
192
257
|
sleep(ms) {
|
|
193
258
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
194
259
|
}
|
package/dist/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":";AAEA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AA4B1B,MAAM,OAAO,aAAa;
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nimbletools/mcp-http-bridge",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Bridge MCP stdio protocol to HTTP-based MCP services",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "tsc",
|
|
12
12
|
"dev": "ts-node src/cli.ts",
|
|
13
|
-
"test": "
|
|
13
|
+
"test": "vitest",
|
|
14
14
|
"prepublishOnly": "npm run build"
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
@@ -23,16 +23,15 @@
|
|
|
23
23
|
"json-rpc"
|
|
24
24
|
],
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"axios": "^1.
|
|
26
|
+
"axios": "^1.11.0",
|
|
27
27
|
"yargs": "^17.7.2"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@types/node": "^
|
|
30
|
+
"@types/node": "^20.19.9",
|
|
31
31
|
"@types/yargs": "^17.0.33",
|
|
32
|
-
"typescript": "^5.7.2",
|
|
33
32
|
"ts-node": "^10.9.2",
|
|
34
|
-
"
|
|
35
|
-
"
|
|
33
|
+
"typescript": "^5.7.2",
|
|
34
|
+
"vitest": "^3.2.4"
|
|
36
35
|
},
|
|
37
36
|
"files": [
|
|
38
37
|
"dist/**/*",
|
|
@@ -55,4 +54,4 @@
|
|
|
55
54
|
"publishConfig": {
|
|
56
55
|
"access": "public"
|
|
57
56
|
}
|
|
58
|
-
}
|
|
57
|
+
}
|