terrarium-mcp 0.1.1
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 +30 -0
- package/bin/terrarium.js +27 -0
- package/dist/terrarium.exe +0 -0
- package/package.json +38 -0
package/README.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# terrarium-mcp
|
|
2
|
+
|
|
3
|
+
Real, disposable VirtualBox VMs from the CLI or over MCP, for you and your AI
|
|
4
|
+
agent. This package bundles the Windows binary of
|
|
5
|
+
[terrarium](https://github.com/chryaner/terrarium) so nothing has to be
|
|
6
|
+
installed first.
|
|
7
|
+
|
|
8
|
+
Requires a Windows host with [VirtualBox](https://www.virtualbox.org/) 7.x.
|
|
9
|
+
|
|
10
|
+
Give your agent real machines (Claude Code):
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
claude mcp add terrarium -- npx -y terrarium-mcp mcp
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Use the CLI:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
npx -y terrarium-mcp doctor
|
|
20
|
+
npx -y terrarium-mcp fork debian-12 t1
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Or install it globally so `terrarium` is on your PATH:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
npm i -g terrarium-mcp
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Docs, recipes and the demos are in the
|
|
30
|
+
[repository](https://github.com/chryaner/terrarium).
|
package/bin/terrarium.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
// Runs the bundled terrarium.exe on this process's stdio, so `npx terrarium-mcp
|
|
5
|
+
// mcp` is the MCP server itself. Nothing may be written to stdout here: the
|
|
6
|
+
// MCP transport owns it, and a stray byte breaks the client's framing.
|
|
7
|
+
const { spawn } = require('child_process');
|
|
8
|
+
const path = require('path');
|
|
9
|
+
|
|
10
|
+
if (process.platform !== 'win32') {
|
|
11
|
+
process.stderr.write('terrarium runs on a Windows host with VirtualBox; this platform is not supported\n');
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const exe = path.join(__dirname, '..', 'dist', 'terrarium.exe');
|
|
16
|
+
const child = spawn(exe, process.argv.slice(2), { stdio: 'inherit', windowsHide: true });
|
|
17
|
+
|
|
18
|
+
child.on('error', (err) => {
|
|
19
|
+
process.stderr.write('terrarium: ' + err.message + '\n');
|
|
20
|
+
process.exit(1);
|
|
21
|
+
});
|
|
22
|
+
child.on('exit', (code) => {
|
|
23
|
+
process.exit(code === null ? 1 : code);
|
|
24
|
+
});
|
|
25
|
+
for (const sig of ['SIGINT', 'SIGTERM']) {
|
|
26
|
+
process.on(sig, () => child.kill(sig));
|
|
27
|
+
}
|
|
Binary file
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "terrarium-mcp",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "terrarium: disposable VirtualBox VMs from the CLI or over MCP, for you and your AI agent. Bundles the Windows binary.",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/chryaner/terrarium.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/chryaner/terrarium",
|
|
11
|
+
"bugs": "https://github.com/chryaner/terrarium/issues",
|
|
12
|
+
"bin": {
|
|
13
|
+
"terrarium": "bin/terrarium.js"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"bin/terrarium.js",
|
|
17
|
+
"dist/terrarium.exe"
|
|
18
|
+
],
|
|
19
|
+
"os": [
|
|
20
|
+
"win32"
|
|
21
|
+
],
|
|
22
|
+
"cpu": [
|
|
23
|
+
"x64"
|
|
24
|
+
],
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=18"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"mcp",
|
|
30
|
+
"mcp-server",
|
|
31
|
+
"virtualbox",
|
|
32
|
+
"vm",
|
|
33
|
+
"disposable",
|
|
34
|
+
"sandbox",
|
|
35
|
+
"ai-agents",
|
|
36
|
+
"claude"
|
|
37
|
+
]
|
|
38
|
+
}
|