@elisym/elisym-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/package.json +39 -0
- package/run.js +73 -0
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@elisym/elisym-mcp",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "MCP server for the elisym protocol — AI agent discovery, marketplace, and messaging via Nostr",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/elisymprotocol/elisym-mcp"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/elisymprotocol/elisym-mcp",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"mcp",
|
|
13
|
+
"nostr",
|
|
14
|
+
"ai-agents",
|
|
15
|
+
"solana",
|
|
16
|
+
"nip-90",
|
|
17
|
+
"model-context-protocol"
|
|
18
|
+
],
|
|
19
|
+
"bin": {
|
|
20
|
+
"elisym-mcp": "run.js"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"run.js"
|
|
24
|
+
],
|
|
25
|
+
"os": [
|
|
26
|
+
"darwin",
|
|
27
|
+
"linux"
|
|
28
|
+
],
|
|
29
|
+
"cpu": [
|
|
30
|
+
"x64",
|
|
31
|
+
"arm64"
|
|
32
|
+
],
|
|
33
|
+
"optionalDependencies": {
|
|
34
|
+
"@elisym/elisym-mcp-darwin-arm64": "0.1.0",
|
|
35
|
+
"@elisym/elisym-mcp-darwin-x64": "0.1.0",
|
|
36
|
+
"@elisym/elisym-mcp-linux-x64": "0.1.0",
|
|
37
|
+
"@elisym/elisym-mcp-linux-arm64": "0.1.0"
|
|
38
|
+
}
|
|
39
|
+
}
|
package/run.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { execFileSync } = require("child_process");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
|
|
7
|
+
const BINARY = "elisym-mcp";
|
|
8
|
+
|
|
9
|
+
const PLATFORM_PACKAGES = {
|
|
10
|
+
"darwin-arm64": `@elisym/elisym-mcp-darwin-arm64`,
|
|
11
|
+
"darwin-x64": `@elisym/elisym-mcp-darwin-x64`,
|
|
12
|
+
"linux-x64": `@elisym/elisym-mcp-linux-x64`,
|
|
13
|
+
"linux-arm64": `@elisym/elisym-mcp-linux-arm64`,
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
function getBinaryPath() {
|
|
17
|
+
const key = `${process.platform}-${process.arch}`;
|
|
18
|
+
const pkg = PLATFORM_PACKAGES[key];
|
|
19
|
+
|
|
20
|
+
if (!pkg) {
|
|
21
|
+
console.error(
|
|
22
|
+
`Unsupported platform: ${process.platform}-${process.arch}\n` +
|
|
23
|
+
`Supported: ${Object.keys(PLATFORM_PACKAGES).join(", ")}`
|
|
24
|
+
);
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Try to find the platform-specific package
|
|
29
|
+
try {
|
|
30
|
+
const pkgDir = path.dirname(require.resolve(`${pkg}/package.json`));
|
|
31
|
+
const bin = path.join(pkgDir, BINARY);
|
|
32
|
+
if (fs.existsSync(bin)) {
|
|
33
|
+
return bin;
|
|
34
|
+
}
|
|
35
|
+
} catch {
|
|
36
|
+
// Package not installed — fall through
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Fallback: check if the binary is in PATH
|
|
40
|
+
const whichCmd = process.platform === "win32" ? "where" : "which";
|
|
41
|
+
try {
|
|
42
|
+
const result = execFileSync(whichCmd, [BINARY], {
|
|
43
|
+
encoding: "utf-8",
|
|
44
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
45
|
+
}).trim();
|
|
46
|
+
if (result) return result;
|
|
47
|
+
} catch {
|
|
48
|
+
// Not in PATH
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
console.error(
|
|
52
|
+
`Could not find ${BINARY} binary.\n\n` +
|
|
53
|
+
`Install options:\n` +
|
|
54
|
+
` cargo install elisym-mcp\n` +
|
|
55
|
+
` brew install elisymprotocol/tap/elisym-mcp\n` +
|
|
56
|
+
` docker run -i --rm elisymprotocol/elisym-mcp\n`
|
|
57
|
+
);
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const bin = getBinaryPath();
|
|
62
|
+
|
|
63
|
+
try {
|
|
64
|
+
execFileSync(bin, process.argv.slice(2), {
|
|
65
|
+
stdio: "inherit",
|
|
66
|
+
env: process.env,
|
|
67
|
+
});
|
|
68
|
+
} catch (e) {
|
|
69
|
+
if (e.status !== null) {
|
|
70
|
+
process.exit(e.status);
|
|
71
|
+
}
|
|
72
|
+
throw e;
|
|
73
|
+
}
|