claude-edge-connector 0.1.0 → 0.1.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-edge-connector",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "MCP server for Claude Connector: let Claude and other MCP clients control the Microsoft Edge tabs you share.",
5
5
  "keywords": [
6
6
  "mcp",
package/src/bridge.js CHANGED
@@ -98,7 +98,8 @@ export class Bridge {
98
98
 
99
99
  // -------------------------------------------------------------------------
100
100
 
101
- #call(socket, method, params, timeoutMs) {
101
+ /** `client` is the AI app the request comes from; the extension shows it on the page and tab group. */
102
+ #call(socket, method, params, timeoutMs, client = this.clientName) {
102
103
  const id = this.nextId++;
103
104
  return new Promise((resolve, reject) => {
104
105
  const timer = setTimeout(() => {
@@ -106,7 +107,7 @@ export class Bridge {
106
107
  reject(new Error(`The browser did not answer within ${Math.round(timeoutMs / 1000)}s (${method}).`));
107
108
  }, timeoutMs);
108
109
  this.pending.set(id, { resolve, reject, timer, socket });
109
- this.#send(socket, { type: 'request', id, method, params });
110
+ this.#send(socket, { type: 'request', id, method, params, client });
110
111
  });
111
112
  }
112
113
 
@@ -249,7 +250,8 @@ export class Bridge {
249
250
  if (msg.type !== 'request') return;
250
251
  try {
251
252
  if (!this.extension) throw new Error(NOT_CONNECTED);
252
- const result = await this.#call(this.extension, msg.method, msg.params, msg.timeoutMs || 60000);
253
+ const client = this.peers.get(ws) || msg.client || null;
254
+ const result = await this.#call(this.extension, msg.method, msg.params, msg.timeoutMs || 60000, client);
253
255
  this.#send(ws, { type: 'response', id: msg.id, result });
254
256
  } catch (e) {
255
257
  this.#send(ws, { type: 'response', id: msg.id, error: { message: e.message } });
package/src/index.js CHANGED
@@ -11,9 +11,13 @@ import { registerTools } from './tools.js';
11
11
  const pkg = createRequire(import.meta.url)('../package.json');
12
12
  const DEFAULT_PORT = 18765;
13
13
 
14
+ // MCP clientInfo.name -> what the user sees. Unlisted clients show their own name.
14
15
  const FRIENDLY_CLIENT_NAMES = {
15
16
  'claude-ai': 'Claude Desktop',
16
17
  'claude-code': 'Claude Code',
18
+ 'gemini-cli-mcp-client': 'Gemini CLI',
19
+ 'cursor-vscode': 'Cursor',
20
+ 'Visual Studio Code': 'GitHub Copilot', // VS Code's own MCP client is used by Copilot chat
17
21
  };
18
22
 
19
23
  function parseArgs(argv) {