演示带有(测试版)MCP网关的E2B沙箱示例。
import Sandbox from 'e2b'
const sandbox = await Sandbox.betaCreate({
mcp: {
duckduckgo: {},
arxiv: {
// MCP服务器及其属性完全类型化!
storagePath: '/'
},
},
});
const mcpUrl = sandbox.betaGetMcpUrl();
bun install
export E2B_API_KEY="e2b_" # 从e2b.dev或~/.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.tsOpenAI代理在arXiv上研究论文,并在DuckDuckGo上搜索作者。
export OPENAI_API_KEY="your-key"
bun examples/research-agent.ts
测试版也发布了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())