mmggws 0.1.0
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 +15 -0
- package/bin/abom.js +46 -0
- package/bin/check-package.js +48 -0
- package/package.json +26 -0
- package/vendor/SHA256SUMS +5 -0
- package/vendor/abom-darwin-amd64 +0 -0
- package/vendor/abom-darwin-arm64 +0 -0
- package/vendor/abom-linux-amd64 +0 -0
- package/vendor/abom-linux-arm64 +0 -0
- package/vendor/abom-windows-amd64.exe +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# abom
|
|
2
|
+
|
|
3
|
+
Zero-config launcher for the `abom` Google Workspace MCP server.
|
|
4
|
+
|
|
5
|
+
## Claude Code
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
claude mcp add abom -e ABOM_TOOLSETS=core -- npx -y mmggws
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Running `abom` with no arguments starts the MCP server over stdio. If no Google token exists yet, ask Claude to call `auth_login`; it opens browser consent and stores OAuth tokens outside the package at `~/.config/gwmcp/token.json`.
|
|
12
|
+
|
|
13
|
+
## Toolsets
|
|
14
|
+
|
|
15
|
+
Use `ABOM_TOOLSETS=core` for a lean daily catalog, or omit it to enable every registered Workspace toolset.
|
package/bin/abom.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { spawn } = require("node:child_process");
|
|
4
|
+
const { existsSync } = require("node:fs");
|
|
5
|
+
const { join } = require("node:path");
|
|
6
|
+
|
|
7
|
+
const targets = {
|
|
8
|
+
"darwin-arm64": "abom-darwin-arm64",
|
|
9
|
+
"darwin-x64": "abom-darwin-amd64",
|
|
10
|
+
"linux-arm64": "abom-linux-arm64",
|
|
11
|
+
"linux-x64": "abom-linux-amd64",
|
|
12
|
+
"win32-x64": "abom-windows-amd64.exe"
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const target = `${process.platform}-${process.arch}`;
|
|
16
|
+
const executable = targets[target];
|
|
17
|
+
|
|
18
|
+
if (!executable) {
|
|
19
|
+
console.error(`abom: unsupported platform ${target}`);
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const binaryPath = join(__dirname, "..", "vendor", executable);
|
|
24
|
+
if (!existsSync(binaryPath)) {
|
|
25
|
+
console.error(`abom: missing bundled binary ${executable}`);
|
|
26
|
+
console.error("Run the release packaging script before publishing this package.");
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const child = spawn(binaryPath, process.argv.slice(2), {
|
|
31
|
+
stdio: "inherit",
|
|
32
|
+
env: process.env
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
child.on("error", (error) => {
|
|
36
|
+
console.error(`abom: failed to start ${binaryPath}: ${error.message}`);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
child.on("exit", (code, signal) => {
|
|
41
|
+
if (signal) {
|
|
42
|
+
process.kill(process.pid, signal);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
process.exit(code ?? 0);
|
|
46
|
+
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { existsSync, statSync } = require("node:fs");
|
|
4
|
+
const { join } = require("node:path");
|
|
5
|
+
const { spawnSync } = require("node:child_process");
|
|
6
|
+
|
|
7
|
+
const packageJson = require("../package.json");
|
|
8
|
+
|
|
9
|
+
const targets = {
|
|
10
|
+
"darwin-arm64": "abom-darwin-arm64",
|
|
11
|
+
"darwin-x64": "abom-darwin-amd64",
|
|
12
|
+
"linux-arm64": "abom-linux-arm64",
|
|
13
|
+
"linux-x64": "abom-linux-amd64",
|
|
14
|
+
"win32-x64": "abom-windows-amd64.exe"
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const required = [
|
|
18
|
+
"abom-darwin-arm64",
|
|
19
|
+
"abom-darwin-amd64",
|
|
20
|
+
"abom-linux-arm64",
|
|
21
|
+
"abom-linux-amd64",
|
|
22
|
+
"abom-windows-amd64.exe",
|
|
23
|
+
"SHA256SUMS"
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
const vendorDir = join(__dirname, "..", "vendor");
|
|
27
|
+
const missing = required.filter((name) => {
|
|
28
|
+
const path = join(vendorDir, name);
|
|
29
|
+
return !existsSync(path) || statSync(path).size === 0;
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
if (missing.length > 0) {
|
|
33
|
+
console.error(`abom: package is missing release artifacts: ${missing.join(", ")}`);
|
|
34
|
+
console.error("Run scripts/build-release.sh <version> and scripts/prepare-npm-package.sh <version> before npm publish.");
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const currentTarget = targets[`${process.platform}-${process.arch}`];
|
|
39
|
+
if (currentTarget) {
|
|
40
|
+
const binaryPath = join(vendorDir, currentTarget);
|
|
41
|
+
const result = spawnSync(binaryPath, ["version"], { encoding: "utf8" });
|
|
42
|
+
const output = `${result.stdout}${result.stderr}`;
|
|
43
|
+
if (result.status !== 0 || !output.includes(`abom ${packageJson.version}`)) {
|
|
44
|
+
console.error(`abom: ${currentTarget} version does not match package ${packageJson.version}`);
|
|
45
|
+
console.error(output.trim());
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mmggws",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Zero-config launcher for the abom Google Workspace MCP server",
|
|
5
|
+
"bin": {
|
|
6
|
+
"abom": "bin/abom.js"
|
|
7
|
+
},
|
|
8
|
+
"scripts": {
|
|
9
|
+
"prepublishOnly": "node bin/check-package.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"bin/",
|
|
13
|
+
"vendor/",
|
|
14
|
+
"README.md"
|
|
15
|
+
],
|
|
16
|
+
"keywords": [
|
|
17
|
+
"mcp",
|
|
18
|
+
"google-workspace",
|
|
19
|
+
"claude"
|
|
20
|
+
],
|
|
21
|
+
"license": "UNLICENSED",
|
|
22
|
+
"private": false,
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": ">=18"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
90a250ef598a6fd0dfdc9ae46dfb865d1717f22257f47cac030a752252d5e370 abom-darwin-amd64
|
|
2
|
+
5ff18fff07b704630306e35d44681d1bb12ed95534f7547e3357999bdd1ee110 abom-darwin-arm64
|
|
3
|
+
0ba872da21e67980e8e9433765988e42e45df7c3b1fc7363b407adcca4c1a009 abom-linux-amd64
|
|
4
|
+
65422427a98159ec72ca9164c83bb60cf9add9135c4b16fa839cea0efca70d47 abom-linux-arm64
|
|
5
|
+
0e71309cf63f1d613ca598e50cc59429b2768347d36492879d3f382bd7808318 abom-windows-amd64.exe
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|