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 +12 -1
- package/package.json +1 -1
- package/src/bridge.js +5 -3
- package/src/index.js +4 -0
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
|
|
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
package/src/bridge.js
CHANGED
|
@@ -98,7 +98,8 @@ export class Bridge {
|
|
|
98
98
|
|
|
99
99
|
// -------------------------------------------------------------------------
|
|
100
100
|
|
|
101
|
-
|
|
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
|
|
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) {
|