claude-edge-connector 0.1.0 → 0.1.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.
package/README.md CHANGED
@@ -16,4 +16,15 @@ For Claude Desktop, add this to `claude_desktop_config.json`:
16
16
  { "mcpServers": { "edge": { "command": "npx", "args": ["-y", "claude-edge-connector"] } } }
17
17
  ```
18
18
 
19
- You also need the Claude Connector extension in Edge. Setup, tools and the security model are in the [main README](https://github.com/Shivendra-99/claude-edge-connector#readme).
19
+ ## You also need the Edge extension
20
+
21
+ This server can't reach your browser on its own: the Claude Connector extension in Edge is what reads and controls the tabs you share. Without it, every browser tool reports that the extension is not connected.
22
+
23
+ - **Edge Add-ons:** still in review with the Microsoft Edge Add-ons team. The store link will be added here once it's approved.
24
+ - **Until then, from a GitHub release:**
25
+ 1. Download `claude-edge-connector-<version>.zip` from the [latest release](https://github.com/Shivendra-99/claude-edge-connector/releases/latest) and unzip it into its own folder. Keep that folder; Edge loads the extension from it.
26
+ 2. Open `edge://extensions` and turn on **Developer mode** (bottom left).
27
+ 3. Click **Load unpacked** and pick the unzipped folder (the one with `manifest.json` in it).
28
+ 4. Open the extension's popup, share a tab, and run `npx claude-edge-connector --check`.
29
+
30
+ Setup, tools and the security model are in the [main README](https://github.com/Shivendra-99/claude-edge-connector#readme).
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.2",
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) {