邮件CLI工具

一个用于管理Microsoft 365邮件的命令行工具,支持通过MCP协议与AI代理集成。

  • by injaan
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 injaan/ms365-email-cli-mcp

使用说明

@injaan.dev/ms365-email-cli-mcp(已停用)

废弃通知

此项目已弃用并终止。

使用 @injaan.dev/ms365-email-cli 相反,它现在本机包含MCP服务器功能。

迁移目标:

npm install -g @injaan.dev/ms365-email-cli

弃用原因:原 @injaan.dev/ms365-email-cli 该项目已嵌入MCP支持,因此不再需要此包装器包。

模型上下文协议(MCP)服务器包装器 ms365-email-cli.

此包将邮箱操作作为MCP工具公开,并执行本地 ms365-email-cli 在引擎盖下指挥。

先决条件

  • Node.js 18+
  • ms365-email-cli 已安装并可在shell中使用 PATH
  • MS365 CLI配置已初始化(ms365-email-cli init)

安装

本地项目安装:

npm install

从npm安装全局CLI:

npm install -g @injaan.dev/ms365-email-cli-mcp

跑

来源:

npm start

从全局安装:

ms365-email-cli-mcp

服务器使用stdio传输,旨在由兼容MCP的客户端启动。

在AI代理中配置(Claude Code、OpenAI Codex、GitHub Copilot)

此包是MCP 标准 服务器。大多数客户端只需要一个启动它的命令。

您可以使用以下任一方式:

  • 全局二进制(推荐): ms365-email-cli-mcp
  • 源命令: node /absolute/path/to/ms365-email-cli-mcp/index.js

在配置任何客户端之前,请验证这些客户端在您的AI客户端运行的同一环境中是否可用:

  • ms365-email-cli-mcp
  • ms365-email-cli

1) 克劳德代码

添加服务器(stdio):

# If installed globally
claude mcp add --transport stdio ms365-email-cli -- ms365-email-cli-mcp

# Or run from source
claude mcp add --transport stdio ms365-email-cli -- node /absolute/path/to/ms365-email-cli-mcp/index.js

有用的管理命令:

claude mcp list
claude mcp get ms365-email-cli

如果你喜欢共享项目配置,Claude Code也可以使用项目 .mcp.json:

{
  "mcpServers": {
    "ms365-email-cli": {
      "type": "stdio",
      "command": "ms365-email-cli-mcp"
    }
  }
}

2) OpenAI Codex(命令行界面/扩展)

选项A-通过CLI添加:

# If installed globally
codex mcp add ms365-email-cli -- ms365-email-cli-mcp

# Or run from source
codex mcp add ms365-email-cli -- node /absolute/path/to/ms365-email-cli-mcp/index.js

选项B-插件 ~/.codex/config.toml (或项目 .codex/config.toml):

[mcp_servers."ms365-email-cli"]
command = "ms365-email-cli-mcp"

# Alternative source-based form:
# [mcp_servers."ms365-email-cli"]
# command = "node"
# args = ["/absolute/path/to/ms365-email-cli-mcp/index.js"]

检查活动服务器:

codex mcp --help

3) VS代码中的GitHub副本

创建 .vscode/mcp.json 在您的工作区中(或使用MCP:打开用户配置):

{
  "servers": {
    "ms365-email-cli": {
      "type": "stdio",
      "command": "ms365-email-cli-mcp"
    }
  }
}

基于来源的替代方案:

{
  "servers": {
    "ms365-email-cli": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/ms365-email-cli-mcp/index.js"]
    }
  }
}

然后在VS代码中:

  1. 跑 MCP:列出服务器 从命令面板。
  2. 启动/信任 ms365-email-cli.
  3. 打开聊天并使用工具。

快速验证提示(任何客户端)

试着问你的经纪人:

  • “列出我最近的5封电子邮件”
  • “显示未读电子邮件”

如果没有出现工具,请确认您的客户端进程可以解决这两个问题 ms365-email-cli-mcp 和 ms365-email-cli 在 PATH.

可用的MCP工具

  • list_emails
  • list_unread_emails
  • read_email
  • thread
  • mark_read
  • search_emails
  • send_email (支持 to, cc, subject, body, html, attachments)
  • reply
  • reply_all
  • attachment

备注

  • send_email.cc 支持以下任一选项:
    • 单个字符串("manager@example.com")
    • 逗号分隔字符串("a@example.com,b@example.com")
    • 字符串数组(["a@example.com", "b@example.com"])
  • 每个CC值都作为可重复值转发到CLI -c 旗帜。
  • CLI中的错误作为工具错误返回给MCP。

MCP工具调用形状示例(send_email)

{
  "name": "send_email",
  "arguments": {
    "to": "user@example.com",
    "cc": ["manager@example.com", "audit@example.com"],
    "subject": "Hello",
    "body": "Email body",
    "html": false,
    "attachments": ["./report.pdf"]
  }
}

发布检查表

  1. 使用npm进行身份验证:

    npm login
    
  2. 验证包装内容:

    npm pack --dry-run
    
  3. 发布:

    npm publish
    
  4. 对于更新,请先使用bump版本:

    npm version patch
    npm publish
    

npm弃用(维护者)

在npm上将已发布的版本标记为已弃用,以便用户在安装时看到警告:

npm deprecate "@injaan.dev/ms365-email-cli-mcp@*" "Deprecated and discontinued. Use @injaan.dev/ms365-email-cli with built-in MCP server."

如果需要,请弃用特定范围而不是所有版本:

npm deprecate "@injaan.dev/ms365-email-cli-mcp@<=1.0.7" "Deprecated and discontinued. Use @injaan.dev/ms365-email-cli with built-in MCP server."