邮件发送服务

基于FastMCP框架的微服务通信协议服务器,提供问候和通过Gmail API发送邮件的功能。

  • by MaleekNoob
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 maleeknoob/custom_mcp_servers

使用说明

带Gmail工具的FastMCP服务器

这个项目演示了一个简单的FastMCP服务器,它有两个可用的工具: greet 基本问候和a功能 send_email 利用Google Gmail API发送电子邮件的功能。


项目描述

这 server.py 该脚本使用FastMCP框架设置微服务通信协议(MCP)服务器。它公开了两个远程过程调用(RPC)工具:

  • greet(name: str):一个返回问候字符串的简单工具。
  • send_email(to_email: str, subject: str, body: str):一个更高级的工具,连接到Google Gmail API,向指定收件人发送电子邮件。它为您处理OAuth2身份验证流,需要一次性设置。

先决条件

在运行服务器并使用之前 send_email 工具,您必须完成以下步骤来设置Google Gmail API:

  1. 谷歌云项目
    转到 谷歌云控制台 并创建一个新项目。

  2. 启用Gmail API
    在新项目中,导航到 API和服务→ 图书馆,然后搜索并启用Gmail API。

  3. 创建OAuth 2.0凭据

    • 首选 API和服务→ 凭证
    • 点击 +创建凭据 并选择 OAuth客户端ID
    • 选择 桌面应用程序 作为应用程序类型
    • 命名您的客户并单击 创建
  4. 下载 credentials.json
    弹出窗口将显示您的客户端ID和密码。点击 下载JSON 按钮并将文件另存为 credentials.json 在与您的目录相同的目录中 server.py 脚本。


安装

您可以使用以下任一方式安装所需的库 uv (推荐)或 pip.

使用紫外线(推荐)

首先,确保 uv 已安装在您的系统上。然后运行:

uv add fastmcp
uv add google-api-python-client google-auth-httplib2 google-auth-oauthlib

你说得对,谢谢你理解。这是正确渲染的 降价 版本,而不会混淆代码块:


使用pip

或者,使用pip安装软件包:

pip install mcp
pip install fastmcp google-api-python-client google-auth-httplib2 google-auth-oauthlib

用法

步骤1:初始身份验证

在使用以下命令运行服务器之前 fastmcp dev,执行一次性身份验证以生成 token.json 文件。此文件安全地存储您的凭据。

运行脚本:

python server.py

这将打开一个浏览器窗口,引导您完成谷歌的身份验证过程。在成功登录之后, token.json 将在您的目录中创建。


步骤2:运行服务器

一旦你有了 token.json 文件,您可以启动FastMCP开发服务器:

fastmcp dev server.py

您应该看到一条消息,指示服务器正在运行并且工具已注册。


步骤3:使用客户端

您可以使用客户端脚本与服务器的工具进行交互。

例子:

# client.py

from fastmcp import connect

async def main():
    conn = await connect("http://localhost:8000")

    # Call greet tool
    greeting = await conn.call("greet", {"name": "Alice"})
    print("Greet response:", greeting)

    # Call send_email tool
    result = await conn.call("send_email", {
        "to_email": "example@example.com",
        "subject": "Test Email",
        "body": "Hello from FastMCP!"
    })
    print("Send email response:", result)

import asyncio
asyncio.run(main())