返回市场
可信-mcp-服务器

可信-mcp-服务器

作者:0xfreysa13 星标更新:2025-04-05

项目介绍

受信任的GMail MCP服务器

这是一个在安全的AWS Nitro enclaves实例中运行的gmail MCP服务器。它最初是从Claude Post MCP服务器分叉出来的。大多数MCP服务器是通过stdio传输方式本地运行的;我们遵循了这个指南,使用sse传输实现了远程MCP服务器。

连接到MCP服务器

要使用此MCP服务器,您需要一个应用专用密码

然后只需将以下内容添加到客户端的mcp.json文件中。

    "gmail_mcp": {
      "url": "https://gmail.mcp.freysa.ai/sse/?ADDR=<your.email@gmail.com>&ASP=<your app-specific password>"
    }

请注意,您可能需要重启您的客户端。

安全注意事项

此实现是一个概念验证。在URL中传递应用专用密码不是一个安全模式,因为:

  • URL可以被代理、浏览器和服务器记录
  • URL可能会出现在浏览器历史记录中
  • URL可以通过Referer头泄露给第三方站点

不幸的是,当前的MCP客户端在连接到服务器的方式上存在限制。在发布时,MCP规范没有定义用于SSE服务器的标准认证机制。这意味着我们不能使用更安全的模式,如bearer token或其他通常首选的授权头。

为了增加安全性,请考虑:

  1. 为此目的专门使用一个应用专用密码
  2. 通过安全的VPN或私有网络访问此服务
  3. 使用提供的说明运行自己的实例

概念

AWS Nitro Enclaves提供了隔离的计算环境,通过基于硬件的身份验证来增强安全性。当代码在Nitro Enclave中运行时,平台会生成代码身份和状态的加密测量值。这些测量值作为可验证的保证,确保代码未被修改,并且正在按预期执行,从而防止篡改或未经授权的修改。有关更多信息,请参阅这篇博客文章

我们使用Nitriding快速部署代码到AWS Nitro TEE。

验证代码认证

要验证运行在TEE中的代码库是否是我们预期的代码库,您必须自己重现其在AWS Nitro enclave中的运行。操作步骤如下。一旦运行起来,您可以按照以下步骤使用此仓库进行验证。

  1. 首先构建代码。
cd verifier

pnpm install && pnpm run build
  1. 然后在本地运行验证器。
cd mcp/react-ts-webpack

pnpm i && pnpm run dev
  1. 然后在浏览器中打开http://localhost:8080/。您将被提示添加两个字段

(a) PCR2哈希,这是代码库的哈希值

(b) 代码认证,由AWS签名

  1. 点击“验证认证”按钮

在TEE中运行自己的实例

您可以按照以下步骤重现此服务器在TEE中的运行。

  1. 使用AWS EC2控制台选择足够大的实例,并确保启用Nitro。

  2. 确保检查实例的安全组,以确认应用程序所需的端口已开放。

  3. 将此仓库克隆到您的ec2实例中。

  4. 运行设置脚本以下载所有必要的依赖项。

sudo /setup.sh
  1. 如果需要,分配更多内存给enclave。
sudo nano /etc/nitro_enclaves/allocator.yaml

sudo systemctl restart nitro-enclaves-allocator.service
  1. 运行enclave。
make
  1. 在生产模式下运行。
make run

使用您的MCP服务器

要实际使用MCP服务器,您还需要运行gvproxy,如下所示。

screen
./gvproxy.sh

然后您可以curl健康检查端点以确认MCP服务器正在enclave中运行。

curl http://127.0.0.1:7047/