@netglade/mcp-sandbox
Version:
MCP Sandbox on E2B
2 lines (1 loc) • 1.44 kB
JavaScript
(function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("@e2b/code-interpreter")):typeof define=="function"&&define.amd?define(["exports","@e2b/code-interpreter"],t):(e=typeof globalThis!="undefined"?globalThis:e||self,t(e["@netglade/mcp-sandbox"]={},e.Sandbox))})(this,function(e,t){"use strict";var x=Object.defineProperty;var g=(e,t,o)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var l=(e,t,o)=>(g(e,typeof t!="symbol"?t+"":t,o),o);var p=(e,t,o)=>new Promise((i,a)=>{var r=n=>{try{d(o.next(n))}catch(s){a(s)}},c=n=>{try{d(o.throw(n))}catch(s){a(s)}},d=n=>n.done?i(n.value):Promise.resolve(n.value).then(r,c);d((o=o.apply(e,t)).next())});const o=n=>p(this,[n],function*({command:a,apiKey:r,envs:c={},timeoutMs:d=6e5}){console.log("Creating sandbox...");const s=yield t.create("base",{timeoutMs:d,apiKey:r}),b=`https://${s.getHost(3e3)}`;return console.log("Starting mcp server..."),yield s.commands.run(`npx -y supergateway --base-url ${b} --port 3000 --cors --stdio "${a}"`,{envs:c,background:!0,onStdout:u=>{console.log(u)},onStderr:u=>{console.log(u)}}),console.log("MCP server started at:",b+"/sse"),new i(s)});class i{constructor(r){l(this,"sandbox");this.sandbox=r}getUrl(){if(!this.sandbox)throw new Error("Sandbox not initialized");return`https://${this.sandbox.getHost(3e3)}/sse`}}e.startMcpSandbox=o,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});