@standardbeagle/slop-mcp 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/bin.js +26 -0
- package/binaries/.gitkeep +0 -0
- package/binaries/slop-mcp-darwin-amd64 +0 -0
- package/binaries/slop-mcp-darwin-arm64 +0 -0
- package/binaries/slop-mcp-linux-amd64 +0 -0
- package/binaries/slop-mcp-linux-arm64 +0 -0
- package/binaries/slop-mcp-windows-amd64.exe +0 -0
- package/index.js +50 -0
- package/install.js +20 -0
- package/package.json +40 -0
package/bin.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { spawn } = require("child_process");
|
|
4
|
+
const { getBinaryPath } = require("./index.js");
|
|
5
|
+
|
|
6
|
+
try {
|
|
7
|
+
const binaryPath = getBinaryPath();
|
|
8
|
+
const args = process.argv.slice(2);
|
|
9
|
+
|
|
10
|
+
const child = spawn(binaryPath, args, {
|
|
11
|
+
stdio: "inherit",
|
|
12
|
+
shell: false,
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
child.on("error", (err) => {
|
|
16
|
+
console.error(`Failed to start slop-mcp: ${err.message}`);
|
|
17
|
+
process.exit(1);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
child.on("close", (code) => {
|
|
21
|
+
process.exit(code ?? 0);
|
|
22
|
+
});
|
|
23
|
+
} catch (err) {
|
|
24
|
+
console.error(err.message);
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/index.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const os = require("os");
|
|
2
|
+
const path = require("path");
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
|
|
5
|
+
const BINARY_NAME = "slop-mcp";
|
|
6
|
+
|
|
7
|
+
function getPlatformInfo() {
|
|
8
|
+
const platform = os.platform();
|
|
9
|
+
const arch = os.arch();
|
|
10
|
+
|
|
11
|
+
let goos;
|
|
12
|
+
if (platform === "darwin") {
|
|
13
|
+
goos = "darwin";
|
|
14
|
+
} else if (platform === "linux") {
|
|
15
|
+
goos = "linux";
|
|
16
|
+
} else if (platform === "win32") {
|
|
17
|
+
goos = "windows";
|
|
18
|
+
} else {
|
|
19
|
+
throw new Error(`Unsupported platform: ${platform}`);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
let goarch;
|
|
23
|
+
if (arch === "x64") {
|
|
24
|
+
goarch = "amd64";
|
|
25
|
+
} else if (arch === "arm64") {
|
|
26
|
+
goarch = "arm64";
|
|
27
|
+
} else {
|
|
28
|
+
throw new Error(`Unsupported architecture: ${arch}`);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return { goos, goarch };
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function getBinaryPath() {
|
|
35
|
+
const { goos, goarch } = getPlatformInfo();
|
|
36
|
+
const ext = goos === "windows" ? ".exe" : "";
|
|
37
|
+
const binaryName = `${BINARY_NAME}-${goos}-${goarch}${ext}`;
|
|
38
|
+
|
|
39
|
+
// Check for bundled binary first
|
|
40
|
+
const bundledPath = path.join(__dirname, "binaries", binaryName);
|
|
41
|
+
if (fs.existsSync(bundledPath)) {
|
|
42
|
+
return bundledPath;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
throw new Error(
|
|
46
|
+
`Binary not found: ${binaryName}. Please reinstall the package.`
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = { getBinaryPath, getPlatformInfo };
|
package/install.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const fs = require("fs");
|
|
2
|
+
const path = require("path");
|
|
3
|
+
const os = require("os");
|
|
4
|
+
|
|
5
|
+
// Make the binary executable on Unix systems
|
|
6
|
+
if (os.platform() !== "win32") {
|
|
7
|
+
const binariesDir = path.join(__dirname, "binaries");
|
|
8
|
+
|
|
9
|
+
if (fs.existsSync(binariesDir)) {
|
|
10
|
+
const files = fs.readdirSync(binariesDir);
|
|
11
|
+
for (const file of files) {
|
|
12
|
+
const filePath = path.join(binariesDir, file);
|
|
13
|
+
try {
|
|
14
|
+
fs.chmodSync(filePath, 0o755);
|
|
15
|
+
} catch (err) {
|
|
16
|
+
// Ignore permission errors
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@standardbeagle/slop-mcp",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "MCP server for orchestrating multiple MCP servers with progressive tool discovery",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"slop-mcp": "bin.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"postinstall": "node install.js"
|
|
11
|
+
},
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/standardbeagle/slop-mcp.git"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"mcp",
|
|
18
|
+
"model-context-protocol",
|
|
19
|
+
"ai",
|
|
20
|
+
"llm",
|
|
21
|
+
"tools",
|
|
22
|
+
"anthropic",
|
|
23
|
+
"claude"
|
|
24
|
+
],
|
|
25
|
+
"author": "StandardBeagle",
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"bugs": {
|
|
28
|
+
"url": "https://github.com/standardbeagle/slop-mcp/issues"
|
|
29
|
+
},
|
|
30
|
+
"homepage": "https://github.com/standardbeagle/slop-mcp#readme",
|
|
31
|
+
"engines": {
|
|
32
|
+
"node": ">=16"
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"bin.js",
|
|
36
|
+
"index.js",
|
|
37
|
+
"install.js",
|
|
38
|
+
"binaries/*"
|
|
39
|
+
]
|
|
40
|
+
}
|