Token导航 LogoToken导航TokenDH.com
Wecom Mail MCP logo
办公协作stdio官方级别未说明来源级核验

Wecom Mail MCP

MCP Server

一个基于Python的企业微信邮件API服务端,用于发送普通邮件,支持多种传输方式和邮件格式。

工具数

2

提示词数

0

GitHub Stars

2

资源数

0
团队协作PythonClaude邮件服务Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

aiguicai

提供方

aiguicai

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run wecom-mail-mcp --check-config

详细介绍

WeCom Mail MCP

一个基于 Python 的 MCP 服务端,通过企业微信官方邮件 API 发送普通邮件。

它做的事情很简单:

  • 对 AI 暴露 send_email
  • 通过企业微信官方接口发送邮件
  • 从环境变量或 .env 读取 CORPID / CORPSECRET
  • 兼容 uv runuvx --from ...

功能

  • 官方 WeCom 邮件 API 发信,不走 SMTP
  • 自动获取并缓存 access_token
  • 兼容 text / html,也兼容 text/plain / text/html
  • 提供 get_mailbox_info,方便确认当前发件邮箱
  • 支持 stdiossestreamable-http 三种传输方式

你需要先准备什么

在企业微信侧确认下面几件事:

  1. 有可用的 CORPID
  2. 有对应应用的 CORPSECRET
  3. 应用具备“邮件”权限
  4. 应用邮箱账号已经配置好
  5. 调用邮件接口所用的应用 secret 已经在“可调用应用”范围内

官方文档:

  • 获取 access_token:
  • 发送普通邮件:
  • 查询应用邮箱账号:

环境变量 / .env

服务端会自动加载项目根目录下的 .env。 优先级是:命令行覆盖 > .env > 系统环境变量。 也就是说,.env 里写了就以 .env 为准;.env 没写或留空时,再回退到系统环境变量。

必填:

  • WECOM_CORP_ID
  • WECOM_CORP_SECRET

兼容别名:

  • CORPID
  • CORPSECRET

可选:

  • WECOM_API_BASE,默认 https://qyapi.weixin.qq.com
  • WECOM_REQUEST_TIMEOUT,默认 20
  • WECOM_MCP_TRANSPORT,默认 stdio
  • WECOM_MCP_HOST,默认 127.0.0.1
  • WECOM_MCP_PORT,默认 8000
  • WECOM_LOG_LEVEL,默认 INFO

本地运行

1. 安装依赖

uv sync

2. 配置 .env

项目里已经提供了 .env.example 和一个本地 .env 模板。

PowerShell 以外,最省事的方式就是直接编辑根目录 .env

CORPID=你的企业ID
CORPSECRET=你的应用Secret

如果你不想用 .env,也可以继续用系统环境变量。

3. 或者设置环境变量

PowerShell:

$env:CORPID="你的企业ID"
$env:CORPSECRET="你的应用Secret"

4. 校验配置

uv run wecom-mail-mcp --check-config

成功时会输出当前应用邮箱账号和别名邮箱列表。

5. 以 stdio 启动 MCP

uv run wecom-mail-mcp

uvx 可以吗

可以。对于 Python 项目,uvx 的角色基本就类似 Node 生态里的 npx

本项目已经提供了 console script,所以本地目录可以直接这样跑:

uvx --from . wecom-mail-mcp

如果以后你把它发到 PyPI,上线后就可以直接:

uvx wecom-mail-mcp

Claude Desktop 配置示例

{
  "mcpServers": {
    "wecom-mail": {
      "command": "uvx",
      "args": [
        "--from",
        "d:/Code_Save/Py/发邮件的mcp",
        "wecom-mail-mcp"
      ],
      "env": {
        "CORPID": "你的企业ID",
        "CORPSECRET": "你的应用Secret"
      }
    }
  }
}

如果你更喜欢 uv run,也可以:

{
  "mcpServers": {
    "wecom-mail": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "d:/Code_Save/Py/发邮件的mcp",
        "wecom-mail-mcp"
      ],
      "env": {
        "CORPID": "你的企业ID",
        "CORPSECRET": "你的应用Secret"
      }
    }
  }
}

MCP 工具

send_email

参数:

  • to_email:收件人邮箱
  • subject:邮件主题
  • content:邮件正文
  • content_type:可选,支持 texthtmltext/plaintext/html,默认 text

说明:

  • 发件人不是由 AI 传入的,而是企业微信“应用邮箱账号”
  • 服务端会把 text/plain 映射为官方接口的 text
  • 服务端会把 text/html 映射为官方接口的 html
  • 如果发送 HTML,请显式传 content_type="html"
  • MCP 工具描述会直接告知客户端 HTML 邮件兼容限制,避免把网页模板直接当邮件模板发送

HTML 邮件兼容建议

如果要发 HTML 邮件,按最保守的邮件写法来:

  • 优先使用 tabletbodytrtd 做布局
  • 文本和基础内容只用 pbrspanstrongbemih1h4aimg
  • 样式尽量写成 inline style,不要依赖复杂选择器
  • 图片使用公网 https 绝对地址

尽量避免:

  • scriptiframeformvideoaudiocanvassvg
  • 外链 CSS、Web Font
  • flexgridposition
  • 相对路径、本地路径、网页式复杂模板

推荐骨架:


  
    
      
标题

      
正文

      链接
      
    
  

get_mailbox_info

返回当前应用邮箱账号与别名邮箱列表,便于确认发件人身份。

HTTP 模式

如果你要用 HTTP 传输:

uv run wecom-mail-mcp --transport streamable-http --host 127.0.0.1 --port 8000

开发测试

python -m unittest discover -s tests

目录标签

目录标签

团队协作PythonClaude邮件服务企业微信本地部署API集成邮件发送

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP