项目简介

本项目是一个实现了 Model Context Protocol (MCP) 的服务器应用,专注于提供邮件通知功能。通过实现一个MCP工具,它允许兼容MCP协议的客户端(如大型语言模型前端或应用)通过标准化的方式调用邮件发送服务。

主要功能点

  • MCP工具: 提供一个名为 'notify' 的工具,允许客户端请求发送邮件。
  • 邮件发送: 集成 'nodemailer' 实现通过SMTP服务发送邮件。
  • 多协议支持: 支持通过 Streamable HTTP ('/mcp' 接口) 和 Server-Sent Events (SSE, '/sse' 接口) 与客户端进行通信。
  • Docker部署: 提供Dockerfile方便打包和部署。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/fantasy-lotus/mcp_email_docker.git
    cd mcp_email_docker
  2. 安装依赖:
    npm install
  3. 配置环境变量: 在项目根目录创建 '.env' 文件,填入SMTP服务信息:
    SMTP_USER=你的邮箱账号
    SMTP_PASS=你的邮箱SMTP授权码
    SMTP_SERVICE=例如QQ (如果nodemailer支持)
    SMTP_HOST=例如smtp.qq.com
    PORT=8080
    请根据你的邮箱服务提供商填写准确的SMTP信息。
  4. 构建并启动服务器:
    npm run build
    npm start
    服务器将在配置的端口(默认为8080)启动。

服务器配置 (用于MCP客户端)

为了让MCP客户端能够连接并使用此服务器,你需要在客户端的MCP服务器配置中指定该服务器的信息。对于基于HTTP协议的MCP服务器,客户端通常需要配置服务器的名称和访问URL。

  • 服务器名称 (name): 'NotifyServer'
  • 连接URL (url): 'http://<服务器地址>:<端口>/mcp' (推荐使用Streamable HTTP接口) 或 'http://<服务器地址>:<端口>/sse' (用于SSE连接)

例如,如果服务器运行在本地的8080端口,用于客户端配置的URL将是 'http://localhost:8080/mcp'。你需要将此信息添加到你的MCP客户端的服务器配置列表中。

基本使用方法

一旦MCP客户端连接上此服务器,它就可以通过调用 'notify' 工具来发送邮件。工具调用的参数如下:

  • 'method':通知方法,目前只支持 '"email"'。
  • 'to':收件人的邮箱地址。
  • 'content':邮件的正文内容。

MCP客户端会以标准JSON-RPC请求格式向服务器发送工具调用请求,服务器执行发送邮件操作后,会返回相应的JSON-RPC响应。

信息

分类

通信与社交