aceternity-mcp 1.9.3
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 +37 -0
- package/bin/cli.js +70 -0
- package/bin/postinstall.js +33 -0
- package/package.json +45 -0
package/README.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# aceternity-mcp
|
|
2
|
+
|
|
3
|
+
**npm wrapper for the Aceternity MCP server.**
|
|
4
|
+
|
|
5
|
+
This is a thin Node.js wrapper around the Python `aceternity-mcp` package. It enables usage via `npx`:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx aceternity-mcp
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
The Python backend must be installed separately:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Recommended
|
|
17
|
+
pipx install aceternity-mcp
|
|
18
|
+
|
|
19
|
+
# Or with uv
|
|
20
|
+
uv tool install aceternity-mcp
|
|
21
|
+
|
|
22
|
+
# Or with pip
|
|
23
|
+
pip install aceternity-mcp
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Usage
|
|
27
|
+
|
|
28
|
+
After installing the Python backend:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Run the MCP server
|
|
32
|
+
npx aceternity-mcp-server
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Full Documentation
|
|
36
|
+
|
|
37
|
+
See the [main repository](https://github.com/devinoldenburg/aceternity-mcp) for complete documentation.
|
package/bin/cli.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* aceternity-mcp-server npm wrapper
|
|
4
|
+
*
|
|
5
|
+
* Delegates to the Python aceternity-mcp-server command.
|
|
6
|
+
* Install the Python package first: pipx install aceternity-mcp
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const { spawn } = require("child_process");
|
|
10
|
+
const { execSync } = require("child_process");
|
|
11
|
+
|
|
12
|
+
function findCommand() {
|
|
13
|
+
// Try direct command first
|
|
14
|
+
try {
|
|
15
|
+
execSync("aceternity-mcp-server --help", { stdio: "ignore" });
|
|
16
|
+
return "aceternity-mcp-server";
|
|
17
|
+
} catch {}
|
|
18
|
+
|
|
19
|
+
// Try via uvx
|
|
20
|
+
try {
|
|
21
|
+
execSync("uvx --from aceternity-mcp aceternity-mcp-server --help", {
|
|
22
|
+
stdio: "ignore",
|
|
23
|
+
});
|
|
24
|
+
return null; // Will use uvx path
|
|
25
|
+
} catch {}
|
|
26
|
+
|
|
27
|
+
// Try via pipx
|
|
28
|
+
try {
|
|
29
|
+
execSync("pipx run aceternity-mcp-server --help", { stdio: "ignore" });
|
|
30
|
+
return null; // Will use pipx path
|
|
31
|
+
} catch {}
|
|
32
|
+
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const directCmd = findCommand();
|
|
37
|
+
|
|
38
|
+
if (directCmd) {
|
|
39
|
+
const child = spawn(directCmd, process.argv.slice(2), {
|
|
40
|
+
stdio: "inherit",
|
|
41
|
+
});
|
|
42
|
+
child.on("exit", (code) => process.exit(code || 0));
|
|
43
|
+
} else {
|
|
44
|
+
// Try uvx first, then pipx
|
|
45
|
+
let cmd, args;
|
|
46
|
+
try {
|
|
47
|
+
execSync("uvx --version", { stdio: "ignore" });
|
|
48
|
+
cmd = "uvx";
|
|
49
|
+
args = [
|
|
50
|
+
"--from",
|
|
51
|
+
"aceternity-mcp",
|
|
52
|
+
"aceternity-mcp-server",
|
|
53
|
+
...process.argv.slice(2),
|
|
54
|
+
];
|
|
55
|
+
} catch {
|
|
56
|
+
cmd = "pipx";
|
|
57
|
+
args = ["run", "aceternity-mcp-server", ...process.argv.slice(2)];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const child = spawn(cmd, args, { stdio: "inherit" });
|
|
61
|
+
child.on("exit", (code) => process.exit(code || 0));
|
|
62
|
+
child.on("error", () => {
|
|
63
|
+
console.error(
|
|
64
|
+
"Error: aceternity-mcp-server not found.\n" +
|
|
65
|
+
"Install it with: pipx install aceternity-mcp\n" +
|
|
66
|
+
"Or: pip install aceternity-mcp"
|
|
67
|
+
);
|
|
68
|
+
process.exit(1);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Post-install script for npm package.
|
|
4
|
+
* Checks if the Python aceternity-mcp package is available.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
const { execSync } = require("child_process");
|
|
8
|
+
|
|
9
|
+
function check() {
|
|
10
|
+
try {
|
|
11
|
+
execSync("aceternity-mcp-server --help", { stdio: "ignore" });
|
|
12
|
+
return true;
|
|
13
|
+
} catch {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (!check()) {
|
|
19
|
+
console.log(
|
|
20
|
+
"\n" +
|
|
21
|
+
"╔══════════════════════════════════════════════════════════╗\n" +
|
|
22
|
+
"║ aceternity-mcp npm wrapper installed ║\n" +
|
|
23
|
+
"║ ║\n" +
|
|
24
|
+
"║ The Python backend is required. Install it with: ║\n" +
|
|
25
|
+
"║ ║\n" +
|
|
26
|
+
"║ pipx install aceternity-mcp ║\n" +
|
|
27
|
+
"║ ║\n" +
|
|
28
|
+
"║ Or with uv: ║\n" +
|
|
29
|
+
"║ ║\n" +
|
|
30
|
+
"║ uv tool install aceternity-mcp ║\n" +
|
|
31
|
+
"╚══════════════════════════════════════════════════════════╝\n"
|
|
32
|
+
);
|
|
33
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "aceternity-mcp",
|
|
3
|
+
"version": "1.9.3",
|
|
4
|
+
"description": "MCP server for Aceternity UI components - discover, explore, and install 106 components from your AI assistant",
|
|
5
|
+
"bin": {
|
|
6
|
+
"aceternity-mcp-server": "bin/cli.js"
|
|
7
|
+
},
|
|
8
|
+
"scripts": {
|
|
9
|
+
"postinstall": "node bin/postinstall.js"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"mcp",
|
|
13
|
+
"aceternity",
|
|
14
|
+
"ui",
|
|
15
|
+
"components",
|
|
16
|
+
"model-context-protocol",
|
|
17
|
+
"ai",
|
|
18
|
+
"shadcn",
|
|
19
|
+
"react",
|
|
20
|
+
"nextjs",
|
|
21
|
+
"tailwind",
|
|
22
|
+
"framer-motion"
|
|
23
|
+
],
|
|
24
|
+
"author": "Devin Oldenburg",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"homepage": "https://github.com/devinoldenburg/aceternity-mcp",
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "git+https://github.com/devinoldenburg/aceternity-mcp.git"
|
|
30
|
+
},
|
|
31
|
+
"bugs": {
|
|
32
|
+
"url": "https://github.com/devinoldenburg/aceternity-mcp/issues"
|
|
33
|
+
},
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=18"
|
|
36
|
+
},
|
|
37
|
+
"os": [
|
|
38
|
+
"darwin",
|
|
39
|
+
"linux",
|
|
40
|
+
"win32"
|
|
41
|
+
],
|
|
42
|
+
"publishConfig": {
|
|
43
|
+
"access": "public"
|
|
44
|
+
}
|
|
45
|
+
}
|