受信任的GMail MCP服务器
连接到MCP服务器
要使用此MCP服务器,您需要 应用程序特定密码.
然后,只需将以下块添加到客户端的 mcp.json 文件。
"gmail_mcp": {
"url": "https://gmail.mcp.freysa.ai/sse/?ADDR=&ASP="
}请注意,您可能需要重新启动客户端。
安全通知
此实现是概念验证。在URL中传递特定于应用程序的密码不是一种安全模式,因为:
- URL可以由代理、浏览器和服务器记录
- URL可能会出现在浏览器历史记录中
- URL可以通过Referer标头泄露到第三方网站
遗憾的是,当前的MCP客户端在连接服务器的方式上存在局限性。在发布时,MCP规范没有为SSE服务器定义标准身份验证机制。这意味着我们不能使用更安全的模式,如承载令牌或其他通常首选的授权标头。
为了提高安全性,请考虑:
- 仅为此目的使用专用的应用程序特定密码
- 通过安全的VPN或专用网络访问
- 按照提供的说明运行自己的实例
概念
AWS Nitro Enclave提供隔离的计算环境,通过基于硬件的认证增强安全性。当代码在Nitro Enclave中运行时,平台会生成代码身份和状态的加密测量值。这些测量值可作为可验证的保证,确保代码没有被修改,并且完全按照预期执行,防止篡改或未经授权的修改。有关更多信息,请参阅此 博客文章.
我们使用 渗氮 在AWS Nitro TEE中快速部署代码。
验证代码证明
要验证预期的代码库是否是在我们的TEE中运行的代码库,您必须自己在AWS Nitro飞地中复制运行它。操作说明如下。运行后,您可以使用此存储库进行验证,如下所示。
- 首先构建代码。
cd verifier
pnpm install && pnpm run build- 然后在本地运行验证器。
cd mcp/react-ts-webpack
pnpm i && pnpm run dev- 然后打开
http://localhost:8080/在您的浏览器中。系统将提示您添加两个字段
(a) PCR2哈希,这是代码库的哈希
(b) 由AWS签署的代码证明
- 点击“验证证明”按钮
在TEE中运行自己的实例
您可以按如下方式在TEE中重现运行此服务器的过程。
- 使用AWS EC2控制台选择一个足够大的实例,并确保启用Nitro。
- 通过检查ec2控制台中实例的“security”选项卡中的安全组,确保应用程序所需的端口已打开。
- 将此仓库克隆到您的ec2实例。
- 运行安装脚本下载所有必要的依赖项。
sudo /setup.sh- 如有必要,为飞地分配更多内存。
sudo nano /etc/nitro_enclaves/allocator.yaml
sudo systemctl restart nitro-enclaves-allocator.service- 管理飞地。
make- 在生产模式下运行。
make run使用您的MCP服务器
要实际使用MCP服务器,您还需要运行gvproxy,如下所示。
screen
./gvproxy.sh那么你可以 curl 健康检查端点,以确认MCP服务器正在飞地中运行。
curl http://127.0.0.1:7047/