@bytebase/dbhub 0.6.0 → 0.6.2

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.
Files changed (3) hide show
  1. package/README.md +6 -0
  2. package/dist/index.js +24 -22
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -6,6 +6,10 @@
6
6
  </a>
7
7
  </p>
8
8
 
9
+ <p align="center">
10
+ <a href="https://cursor.com/install-mcp?name=dbhub-postgres&config=eyJjb21tYW5kIjoibnB4IC15IEBieXRlYmFzZS9kYmh1YiAtLXRyYW5zcG9ydCBzdGRpbyAtLWRzbiBwb3N0Z3JlczovL3VzZXI6cGFzc3dvcmRAbG9jYWxob3N0OjU0MzIvZGJuYW1lP3NzbG1vZGU9ZGlzYWJsZSJ9"><img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Add dbhub-postgres MCP server to Cursor" height="32" /></a>
11
+ </p>
12
+
9
13
  DBHub is a universal database gateway implementing the Model Context Protocol (MCP) server interface. This gateway allows MCP-compatible clients to connect to and explore different databases.
10
14
 
11
15
  ```bash
@@ -168,6 +172,8 @@ npx @bytebase/dbhub --transport http --port 8080 --demo
168
172
 
169
173
  ### Cursor
170
174
 
175
+ [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/install-mcp?name=dbhub-postgres&config=eyJjb21tYW5kIjoibnB4IC15IEBieXRlYmFzZS9kYmh1YiAtLXRyYW5zcG9ydCBzdGRpbyAtLWRzbiBwb3N0Z3JlczovL3VzZXI6cGFzc3dvcmRAbG9jYWxob3N0OjU0MzIvZGJuYW1lP3NzbG1vZGU9ZGlzYWJsZSJ9)
176
+
171
177
  ![cursor](https://raw.githubusercontent.com/bytebase/dbhub/main/resources/images/cursor.webp)
172
178
 
173
179
  - Cursor supports both `stdio` and `http`.
package/dist/index.js CHANGED
@@ -3440,13 +3440,16 @@ See documentation for more details on configuring database connections.
3440
3440
  `);
3441
3441
  process.exit(1);
3442
3442
  }
3443
- const server = new McpServer2({
3444
- name: SERVER_NAME,
3445
- version: SERVER_VERSION
3446
- });
3447
- registerResources(server);
3448
- registerTools(server);
3449
- registerPrompts(server);
3443
+ const createServer = () => {
3444
+ const server = new McpServer2({
3445
+ name: SERVER_NAME,
3446
+ version: SERVER_VERSION
3447
+ });
3448
+ registerResources(server);
3449
+ registerTools(server);
3450
+ registerPrompts(server);
3451
+ return server;
3452
+ };
3450
3453
  const connectorManager = new ConnectorManager();
3451
3454
  console.error(`Connecting with DSN: ${redactDSN(dsnData.dsn)}`);
3452
3455
  console.error(`DSN source: ${dsnData.source}`);
@@ -3491,19 +3494,17 @@ See documentation for more details on configuring database connections.
3491
3494
  }
3492
3495
  next();
3493
3496
  });
3494
- const transport = new StreamableHTTPServerTransport({
3495
- sessionIdGenerator: () => `session_${Date.now()}_${Math.random().toString(36).substring(7)}`,
3496
- onsessioninitialized: (sessionId) => {
3497
- console.error(`Session initialized: ${sessionId}`);
3498
- },
3499
- enableJsonResponse: false
3500
- // Use SSE streaming
3501
- });
3502
- await server.connect(transport);
3503
- app.all("/message", async (req, res) => {
3497
+ app.post("/message", async (req, res) => {
3504
3498
  try {
3505
- const parsedBody = req.method === "POST" ? req.body : void 0;
3506
- await transport.handleRequest(req, res, parsedBody);
3499
+ const transport = new StreamableHTTPServerTransport({
3500
+ sessionIdGenerator: void 0,
3501
+ // Disable session management for stateless mode
3502
+ enableJsonResponse: false
3503
+ // Use SSE streaming
3504
+ });
3505
+ const server = createServer();
3506
+ await server.connect(transport);
3507
+ await transport.handleRequest(req, res, req.body);
3507
3508
  } catch (error) {
3508
3509
  console.error("Error handling request:", error);
3509
3510
  if (!res.headersSent) {
@@ -3514,11 +3515,12 @@ See documentation for more details on configuring database connections.
3514
3515
  const portData = resolvePort();
3515
3516
  const port = portData.port;
3516
3517
  console.error(`Port source: ${portData.source}`);
3517
- app.listen(port, "localhost", () => {
3518
- console.error(`DBHub server listening at http://localhost:${port}`);
3519
- console.error(`Connect to MCP server at http://localhost:${port}/message`);
3518
+ app.listen(port, "0.0.0.0", () => {
3519
+ console.error(`DBHub server listening at http://0.0.0.0:${port}`);
3520
+ console.error(`Connect to MCP server at http://0.0.0.0:${port}/message`);
3520
3521
  });
3521
3522
  } else {
3523
+ const server = createServer();
3522
3524
  const transport = new StdioServerTransport();
3523
3525
  console.error("Starting with STDIO transport");
3524
3526
  await server.connect(transport);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytebase/dbhub",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "Universal Database MCP Server",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",