沙箱服务

E2B沙箱服务提供安全隔离的环境,支持集成多种MCP服务器(如DuckDuckGo和arXiv),适用于代码执行和研究代理开发。

  • by e2b-dev
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 Code42Cate/mcp-gateway-demo-bun

使用说明

E2B MCP 演示

展示配备(测试版)MCP网关的E2B沙盒的示例。

import Sandbox from 'e2b'

const sandbox = await Sandbox.betaCreate({
    mcp: {
        duckduckgo: {},
        arxiv: {
            // MCP servers + properties are fully typed!
            storagePath: '/'
        },
    },
});

const mcpUrl = sandbox.betaGetMcpUrl();

设置

bun install
export E2B_API_KEY="e2b_"  # Get from e2b.dev or ~/.e2b/config.json

示例

其中有三个例子 /examples

basic.ts

创建一个包含arXiv和DuckDuckGo MCP服务器的E2B沙盒,并输出MCP的URL。

bun examples/basic.ts

claude-code.ts

使用Claude Code CLI工具进行论文研究,查找作者信息,并创建托管在沙盒中的网页。

export ANTHROPIC_API_KEY="your-key"
bun examples/claude-code.ts

mcp-client.ts

使用SDK客户端连接到MCP服务器,并列出可用工具。

bun examples/mcp-client.ts

research-agent.ts

一个OpenAI代理,能在arXiv上研究论文,并在DuckDuckGo上搜索作者。

export OPENAI_API_KEY="your-key"
bun examples/research-agent.ts

python

Python SDK 的测试版也已发布:

pip install e2b==2.3.3
from e2b import AsyncSandbox

import asyncio


async def main():
    sandbox = await AsyncSandbox.beta_create(
        mcp={
            "duckduckgo": {},
            "arxiv": {
                "storagePath": "/",
            },
        },
    )

    mcp_url = sandbox.beta_get_mcp_url()


if __name__ == "__main__":
    asyncio.run(main())