mcp-chat-connect 1.2.1 → 1.2.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 (2) hide show
  1. package/index.js +29 -4
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -249,6 +249,7 @@ let sessionState = {
249
249
  userName: null,
250
250
  userId: null,
251
251
  sessionToken: null,
252
+ sessionLabel: null,
252
253
  connected: false,
253
254
  };
254
255
 
@@ -391,16 +392,28 @@ async function handleToolCall(name, args) {
391
392
  userName: result.userName,
392
393
  userId,
393
394
  sessionToken,
395
+ sessionLabel: null,
394
396
  connected: true,
395
397
  };
396
398
  saveConfig({ token: result.token, userName: result.userName, userId });
397
399
 
400
+ // Register session to get sequential label
401
+ let sessionLabel = 'Session';
402
+ try {
403
+ const regResult = await apiCall('register_session', {
404
+ channel_id: result.channelId,
405
+ session_token: sessionToken,
406
+ }, result.token);
407
+ sessionLabel = regResult.label || 'Session';
408
+ sessionState.sessionLabel = sessionLabel;
409
+ } catch {}
410
+
398
411
  // Start WebSocket listener for real-time push
399
412
  connectWebSocket();
400
413
 
401
414
  // Check for package updates
402
415
  const updateNotice = await checkForUpdate();
403
- let responseText = `Connected to #${result.channelName} as ${result.userName}. Live messages will now be pushed into this session. You can also use mcp_chat_send to send messages and mcp_chat_read to fetch history.`;
416
+ let responseText = `Connected to #${result.channelName} as ${result.userName} (${sessionLabel}). Live messages will now be pushed into this session. You can also use mcp_chat_send to send messages and mcp_chat_read to fetch history.`;
404
417
  if (updateNotice) {
405
418
  responseText += `\n\n${updateNotice}`;
406
419
  }
@@ -435,11 +448,23 @@ async function handleToolCall(name, args) {
435
448
  channelId,
436
449
  channelName: channel.name,
437
450
  sessionToken,
451
+ sessionLabel: null,
438
452
  connected: true,
439
453
  };
440
454
 
455
+ // Register session to get sequential label
456
+ let sessionLabel = 'Session';
457
+ try {
458
+ const regResult = await apiCall('register_session', {
459
+ channel_id: channelId,
460
+ session_token: sessionToken,
461
+ }, sessionState.token);
462
+ sessionLabel = regResult.label || 'Session';
463
+ sessionState.sessionLabel = sessionLabel;
464
+ } catch {}
465
+
441
466
  connectWebSocket();
442
- return { content: [{ type: 'text', text: `Joined #${channel.name} (ID: ${channelId}) as ${sessionState.userName}. Live messages are now being pushed.` }] };
467
+ return { content: [{ type: 'text', text: `Joined #${channel.name} (ID: ${channelId}) as ${sessionState.userName} (${sessionLabel}). Live messages are now being pushed.` }] };
443
468
  } catch (err) {
444
469
  return { content: [{ type: 'text', text: `Failed to join channel: ${err.message}` }], isError: true };
445
470
  }
@@ -511,10 +536,10 @@ async function handleToolCall(name, args) {
511
536
 
512
537
  case 'mcp_chat_status': {
513
538
  if (!sessionState.connected) {
514
- return { content: [{ type: 'text', text: sessionState.token ? 'Authenticated but not connected to a channel. Run mcp_chat_connect to pick a channel.' : 'Not connected. Run mcp_chat_connect to authenticate and select a channel.' }] };
539
+ return { content: [{ type: 'text', text: sessionState.token ? 'Authenticated but not connected to a channel. Run mcp_chat_connect or mcp_chat_join to pick a channel.' : 'Not connected. Run mcp_chat_connect to authenticate and select a channel.' }] };
515
540
  }
516
541
  const wsStatus = wsConnection?.readyState === 1 ? 'live (receiving messages)' : 'reconnecting...';
517
- return { content: [{ type: 'text', text: `Connected to #${sessionState.channelName} as ${sessionState.userName}\nWebSocket: ${wsStatus}` }] };
542
+ return { content: [{ type: 'text', text: `Connected to #${sessionState.channelName} as ${sessionState.userName} (${sessionState.sessionLabel || 'Session'})\nWebSocket: ${wsStatus}` }] };
518
543
  }
519
544
 
520
545
  case 'mcp_chat_create_channel': {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-chat-connect",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "MCP server with channels support for connecting Claude Code sessions to MCP Chat -- real-time team messaging for AI-assisted development",
5
5
  "main": "index.js",
6
6
  "bin": {