@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 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. **Output**: Returns responses via stdout in MCP format
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
  }
@@ -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;gBAEV,MAAM,EAAE,YAAY;IAqB1B,KAAK;YAkCG,gBAAgB;YA+BhB,iBAAiB;YAqDjB,eAAe;IA2B7B,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,QAAQ;CAIjB"}
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
- const response = await this.axiosInstance.post(this.config.endpoint, request);
127
- return response;
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
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",
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": "jest",
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.7.9",
26
+ "axios": "^1.11.0",
27
27
  "yargs": "^17.7.2"
28
28
  },
29
29
  "devDependencies": {
30
- "@types/node": "^24.0.0",
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
- "jest": "^29.7.0",
35
- "@types/jest": "^29.5.14"
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
+ }