使用说明
E2B MCP Python 示例(或演示)
一个使用Python的演示 E2B 与GitHub和Notion的MCP(模型上下文协议)服务器类似 TypeScript 示例。
概述
这个演示展示了如何:
- 创建一个支持MCP服务器的E2B沙盒
- 配置GitHub和Notion MCP服务器
- 在沙盒中使用 Claude CLI 与两个服务进行交互
- 在GitHub和Notion之间自动化任务
先决条件
- Python 3.13及以上版本
- 紫外线 包管理器
- E2B的API密钥来自 e2b.dev/仪表盘
- Anthropic的API密钥来自 console.anthropic.com(可译为“Anthropic控制台网站”,但通常网址不直接翻译,保持原样或根据上下文简化为“Anthropic控制台”)
- 来自GitHub的个人访问令牌 github.com/settings/tokens 翻译为中文是:“github.com的设置/令牌(页面)”
- 所需范围:
repo,read:user,read:org
- 所需范围:
- 来自Notion的集成令牌 notion.so/profile/integrations 翻译为中文是:“Notion个人资料/集成页面”。不过,这里的“integrations”具体翻译可能根据上下文有所调整,但通常指的是“集成”或“集成应用”的意思,在这个网址中可能指的是Notion平台上的各种集成功能或插件。所以,一个较为通用的翻译就是“Notion个人资料/集成页面”
- 记得与您的集成共享页面/数据库
设置
-
安装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
"""
