codex-grok-mcp 0.2.0-beta.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/CONTRIBUTING.md +67 -0
- package/LICENSE +21 -0
- package/README.md +255 -0
- package/SECURITY.md +109 -0
- package/dist/bridge-companion.d.ts +61 -0
- package/dist/bridge-companion.js +436 -0
- package/dist/bridge-companion.js.map +1 -0
- package/dist/bridge-pairing.d.ts +30 -0
- package/dist/bridge-pairing.js +364 -0
- package/dist/bridge-pairing.js.map +1 -0
- package/dist/bridge-protocol.d.ts +187 -0
- package/dist/bridge-protocol.js +360 -0
- package/dist/bridge-protocol.js.map +1 -0
- package/dist/bridge-replay.d.ts +10 -0
- package/dist/bridge-replay.js +107 -0
- package/dist/bridge-replay.js.map +1 -0
- package/dist/bridge-runtime.d.ts +11 -0
- package/dist/bridge-runtime.js +259 -0
- package/dist/bridge-runtime.js.map +1 -0
- package/dist/direct-gateway-transport.d.ts +7 -0
- package/dist/direct-gateway-transport.js +241 -0
- package/dist/direct-gateway-transport.js.map +1 -0
- package/dist/grok-bot-client.d.ts +93 -0
- package/dist/grok-bot-client.js +475 -0
- package/dist/grok-bot-client.js.map +1 -0
- package/dist/grok-bot-gateway.d.ts +204 -0
- package/dist/grok-bot-gateway.js +741 -0
- package/dist/grok-bot-gateway.js.map +1 -0
- package/dist/grok-cli.d.ts +31 -0
- package/dist/grok-cli.js +338 -0
- package/dist/grok-cli.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +228 -0
- package/dist/index.js.map +1 -0
- package/dist/relay-transport.d.ts +9 -0
- package/dist/relay-transport.js +278 -0
- package/dist/relay-transport.js.map +1 -0
- package/dist/schema.d.ts +16 -0
- package/dist/schema.js +22 -0
- package/dist/schema.js.map +1 -0
- package/dist/version.d.ts +4 -0
- package/dist/version.js +10 -0
- package/dist/version.js.map +1 -0
- package/package.json +71 -0
- package/plugins/codex-grok-mcp/assets/icon.png +0 -0
- package/relay/.dev.vars.example +2 -0
- package/relay/README.md +26 -0
- package/relay/package-lock.json +3291 -0
- package/relay/package.json +17 -0
- package/relay/src/index.ts +182 -0
- package/relay/test/relay.test.ts +127 -0
- package/relay/test/tsconfig.json +13 -0
- package/relay/tsconfig.json +15 -0
- package/relay/vitest.config.ts +15 -0
- package/relay/worker-configuration.d.ts +15362 -0
- package/relay/wrangler.jsonc +33 -0
package/package.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "codex-grok-mcp",
|
|
3
|
+
"version": "0.2.0-beta.1",
|
|
4
|
+
"description": "Unofficial local MCP bridge from Codex to isolated Grok calls and experimental persistent Grok Bots.",
|
|
5
|
+
"author": "Fato07",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/Fato07/codex-grok-mcp.git"
|
|
9
|
+
},
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/Fato07/codex-grok-mcp/issues"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/Fato07/codex-grok-mcp#readme",
|
|
14
|
+
"type": "module",
|
|
15
|
+
"main": "dist/index.js",
|
|
16
|
+
"bin": {
|
|
17
|
+
"codex-grok-mcp": "dist/index.js",
|
|
18
|
+
"codex-grok-bridge": "dist/bridge-companion.js"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"dist",
|
|
22
|
+
"plugins/codex-grok-mcp/assets/icon.png",
|
|
23
|
+
"relay/.dev.vars.example",
|
|
24
|
+
"relay/README.md",
|
|
25
|
+
"relay/package-lock.json",
|
|
26
|
+
"relay/package.json",
|
|
27
|
+
"relay/src",
|
|
28
|
+
"relay/test",
|
|
29
|
+
"relay/tsconfig.json",
|
|
30
|
+
"relay/vitest.config.ts",
|
|
31
|
+
"relay/worker-configuration.d.ts",
|
|
32
|
+
"relay/wrangler.jsonc",
|
|
33
|
+
"CONTRIBUTING.md",
|
|
34
|
+
"LICENSE",
|
|
35
|
+
"README.md",
|
|
36
|
+
"SECURITY.md"
|
|
37
|
+
],
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=20.19.2"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "tsc",
|
|
43
|
+
"typecheck": "tsc --noEmit",
|
|
44
|
+
"start": "node dist/index.js",
|
|
45
|
+
"bridge:probe": "node dist/bridge-companion.js probe",
|
|
46
|
+
"doctor": "node dist/index.js --doctor",
|
|
47
|
+
"test": "npm run build && node --test test/*.test.mjs",
|
|
48
|
+
"test:relay": "npm --prefix relay test",
|
|
49
|
+
"test:all": "npm test && npm run test:relay",
|
|
50
|
+
"prepublishOnly": "npm run typecheck && npm run test:all",
|
|
51
|
+
"prepare": "npm run build"
|
|
52
|
+
},
|
|
53
|
+
"keywords": [
|
|
54
|
+
"codex",
|
|
55
|
+
"grok",
|
|
56
|
+
"xai",
|
|
57
|
+
"mcp",
|
|
58
|
+
"model-context-protocol"
|
|
59
|
+
],
|
|
60
|
+
"license": "MIT",
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"@modelcontextprotocol/server": "2.0.0",
|
|
63
|
+
"ws": "8.21.3",
|
|
64
|
+
"zod": "4.5.4"
|
|
65
|
+
},
|
|
66
|
+
"devDependencies": {
|
|
67
|
+
"@types/node": "20.19.43",
|
|
68
|
+
"@types/ws": "8.18.1",
|
|
69
|
+
"typescript": "7.0.2"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
Binary file
|
package/relay/README.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# codex-grok-mcp relay
|
|
2
|
+
|
|
3
|
+
This Worker forwards end-to-end encrypted WebSocket frames between the Codex client and Grok Bot companion. It accepts native clients only: browser requests carrying an `Origin` header are rejected.
|
|
4
|
+
|
|
5
|
+
## Configure
|
|
6
|
+
|
|
7
|
+
Create one deployment-scoped token containing exactly 32 random bytes in base64url form, keep it in your password manager, and set it as a Cloudflare secret:
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
RELAY_TOKEN="$(node -e 'process.stdout.write(require("node:crypto").randomBytes(32).toString("base64url"))')"
|
|
11
|
+
printf 'RELAY_ACCESS_TOKEN=%s\n' "$RELAY_TOKEN" | npx wrangler deploy --secrets-file /dev/stdin
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Use that same value as `CODEX_GROK_RELAY_TOKEN` for `codex-grok-mcp pair`. Pairing derives an HMAC-SHA-256 bearer for the random channel; the pair code configures both native clients with that scoped bearer and never includes the deployment master. Do not put either value in `wrangler.jsonc`, logs, URLs, issues, or prompts. This master is for one operator's self-hosted relay, not a multi-tenant public service.
|
|
15
|
+
|
|
16
|
+
Cloudflare invocation logs and traces are explicitly disabled because the channel is part of the request path. The Worker itself emits no logs.
|
|
17
|
+
|
|
18
|
+
For local `wrangler dev`, copy `.dev.vars.example` to `.dev.vars`, fill the same secret, and keep that file untracked.
|
|
19
|
+
|
|
20
|
+
## Verify and deploy
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
npm test
|
|
24
|
+
npm run check
|
|
25
|
+
npx wrangler deploy --dry-run
|
|
26
|
+
```
|