E2B MCP Python 示例(或演示)
概述
这个演示展示了如何:
- 创建一个支持MCP服务器的E2B沙盒
- 配置GitHub和Notion MCP服务器
- 在沙盒中使用 Claude CLI 与两个服务进行交互
- 在GitHub和Notion之间自动化任务
先决条件
- Python 3.13及以上版本
- 紫外线 包管理器
- E2B的API密钥来自 e2b.dev/仪表盘
- Anthropic的API密钥来自 console.anthropic.com(可译为“Anthropic控制台网站”,但通常网址不直接翻译,保持原样或根据上下文简化为“Anthropic控制台”)
- 来自GitHub的个人访问令牌
- 所需范围: repo, read:user, read:org
- 记得与您的集成共享页面/数据库
设置
- 安装uv
按照说明操作 在这里 安装紫外线灯。
- 克隆仓库
git clone https://github.com/e2b-dev/e2b-mcp-py
cd e2b-mcp-py- 安装依赖项
uv sync- 设置环境变量
你可以创建一个 .env 在项目的根目录下放置文件,或者在你的shell中设置环境变量。
以下密钥是必需的(当然,除了……之外) E2B_API_KEY)
anthropic_api_key = os.environ["ANTHROPIC_API_KEY"]
notion_api_key = os.environ["NOTION_TOKEN"]
github_token = os.environ["GITHUB_TOKEN"]如果你没有Notion账户,你可以将Notion相关的代码注释掉 main.py 并相应地更新提示。
在 main.py,注释掉以下行:
# notion = Notion(internalIntegrationToken=notion_api_key)并且移除 notion=notion 来自……的论据 McpServer 构造函数:
# mcp_servers = McpServer(notion=notion, githubOfficial=github)
mcp_servers = McpServer(githubOfficial=github)并且改变 task 将变量更改为不涉及Notion的内容,例如:
task = "List my top 3 GitHub repositories by stars"使用方法
运行演示程序:
uv run main.py它的功能/作用
演示将:
- 创建一个配置了环境变量的E2B沙盒
- 在沙箱中安装Claude CLI
- 配置GitHub和Notion MCP服务器
- 执行一个示例任务,该任务:
- 列出你的GitHub仓库 - 创建一个Notion页面,总结你按星标数排序的前3个仓库
定制化
你可以在(某处)修改任务 main.py (第76-80行)执行不同的操作:
task = """
Your custom task here that uses GitHub and Notion MCP servers
"""