emms-mcp 0.27.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/index.js +59 -0
- package/package.json +36 -0
package/index.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* emms-mcp — npm wrapper for the EMMS MCP server (Python).
|
|
5
|
+
*
|
|
6
|
+
* Tries these methods in order:
|
|
7
|
+
* 1. uvx emms-mcp (fastest, no prior install needed)
|
|
8
|
+
* 2. pipx run emms-mcp
|
|
9
|
+
* 3. python -m emms.mcp_entry
|
|
10
|
+
*
|
|
11
|
+
* All CLI arguments are forwarded to the Python process.
|
|
12
|
+
* stdio is inherited so MCP transport works transparently.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
const { spawn, execSync } = require("child_process");
|
|
16
|
+
|
|
17
|
+
const args = process.argv.slice(2);
|
|
18
|
+
|
|
19
|
+
function commandExists(cmd) {
|
|
20
|
+
try {
|
|
21
|
+
execSync(`which ${cmd}`, { stdio: "ignore" });
|
|
22
|
+
return true;
|
|
23
|
+
} catch {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function run(command, commandArgs) {
|
|
29
|
+
const child = spawn(command, commandArgs, {
|
|
30
|
+
stdio: "inherit",
|
|
31
|
+
env: process.env,
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
child.on("error", (err) => {
|
|
35
|
+
process.stderr.write(`Failed to start ${command}: ${err.message}\n`);
|
|
36
|
+
process.exit(1);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
child.on("exit", (code) => {
|
|
40
|
+
process.exit(code ?? 1);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (commandExists("uvx")) {
|
|
45
|
+
run("uvx", ["emms-mcp", ...args]);
|
|
46
|
+
} else if (commandExists("pipx")) {
|
|
47
|
+
run("pipx", ["run", "emms-mcp", ...args]);
|
|
48
|
+
} else if (commandExists("python3")) {
|
|
49
|
+
run("python3", ["-m", "emms.mcp_entry", ...args]);
|
|
50
|
+
} else if (commandExists("python")) {
|
|
51
|
+
run("python", ["-m", "emms.mcp_entry", ...args]);
|
|
52
|
+
} else {
|
|
53
|
+
process.stderr.write(
|
|
54
|
+
"Error: emms-mcp requires Python. Install uvx, pipx, or python3.\n" +
|
|
55
|
+
" pip install emms-mcp # then run: emms-mcp\n" +
|
|
56
|
+
" pip install uv # then run: npx emms-mcp\n"
|
|
57
|
+
);
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "emms-mcp",
|
|
3
|
+
"version": "0.27.0",
|
|
4
|
+
"description": "MCP server with 129 cognitive memory tools for AI agents — persistent memory, emotional recall, knowledge graphs, metacognition, goal tracking, and more",
|
|
5
|
+
"bin": {
|
|
6
|
+
"emms-mcp": "./index.js"
|
|
7
|
+
},
|
|
8
|
+
"keywords": [
|
|
9
|
+
"mcp",
|
|
10
|
+
"memory",
|
|
11
|
+
"ai-agents",
|
|
12
|
+
"cognitive-architecture",
|
|
13
|
+
"model-context-protocol",
|
|
14
|
+
"knowledge-graph",
|
|
15
|
+
"ai-memory",
|
|
16
|
+
"claude",
|
|
17
|
+
"llm"
|
|
18
|
+
],
|
|
19
|
+
"author": "Shehzad Ahmed",
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "https://github.com/supermaxlol/emms-mcp"
|
|
24
|
+
},
|
|
25
|
+
"homepage": "https://github.com/supermaxlol/emms-mcp#readme",
|
|
26
|
+
"bugs": {
|
|
27
|
+
"url": "https://github.com/supermaxlol/emms-mcp/issues"
|
|
28
|
+
},
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=18"
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
"index.js",
|
|
34
|
+
"README.md"
|
|
35
|
+
]
|
|
36
|
+
}
|