Token导航 LogoToken导航

MCP Server · 办公协作

Wildduck MCP Plugin

WildDuck MCP插件是一个为WildDuck邮件服务器设计的AI助手交互插件,通过标准化API实现邮件数据的访问和管理。

未说明官方级别未说明来源级核验工具 12
邮件服务邮件管理JavaScriptAI交互API集成

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
HamStudy
提供方
HamStudy

工具数量

12

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Wildduck MCP Plugin 属于办公协作类 MCP Server,公开资料标注 12 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前要先准备 访问 Token。

分类

办公协作

传输方式

未说明

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 12 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

WildDuck MCP插件

模型上下文协议(MCP)服务器插件 WildDuck电子邮件服务器 使人工智能助手能够通过标准化的API与电子邮件数据进行交互。

特性

  • MCP资源:访问邮箱、邮件和用户信息
  • MCP工具:发送电子邮件、搜索邮件、管理邮箱
  • MCP提示:电子邮件摘要和回复起草的预构建提示
  • 基于Web的传输:HTTP/REST API实现(不是STDIO)
  • 完全集成WildDuck:直接访问WildDuck的处理程序和数据库

安装

  1. 克隆此存储库:
git clone https://github.com/HamStudy/wildduck-mcp-plugin.git
cd wildduck-mcp-plugin
  1. 安装依赖项:
npm install
  1. 在WildDuck插件目录中创建一个符号链接:
# From your WildDuck installation directory
cd plugins
ln -s /path/to/wildduck-mcp-plugin mcp

重要:插件必须符号链接为 mcp (不是 wildduck-mcp-plugin)以确保URL路由正常工作。

  1. 在WildDuck配置目录中创建一个配置文件:
cp /path/to/wildduck-mcp-plugin/mcp.toml.example config/plugins/mcp.toml
  1. 将插件添加到您的WildDuck插件配置中:
# config/plugins.toml (or wherever you configure plugins)
[[plugins]]
name = "mcp"
enabled = true
  1. 重新启动WildDuck以加载插件

配置

编辑 config/plugins/mcp.toml 配置插件。关键设置:

  • enabled:启用/禁用插件
  • mcp.readOnly:启用只读模式(禁用所有写入操作)
  • rateLimit:API速率限制
  • cors:web客户端的CORS设置

只读模式

当 mcp.readOnly = true,插件以只读模式运行:

  • 只有阅读工具可用(listMailboxes、getMessages、getMessage、searchMessages)
  • 写操作已禁用(sendEmail、moveMessage、deleteMessage、markAsRead等)
  • 消息永远不会自动标记为已读
  • 尝试使用写入工具返回403 Forbidden错误

API终点

安装后,MCP服务器可在以下位置使用:

http://your-wildduck-server:8080/plugin/mcp/

MCP端点

  • POST /plugin/mcp/initialize -初始化MCP会话
  • GET /plugin/mcp/resources -列出可用资源
  • GET /plugin/mcp/resources/:uri -阅读资源
  • GET /plugin/mcp/tools -列出可用工具
  • POST /plugin/mcp/tools/:name -执行工具
  • GET /plugin/mcp/prompts -列出可用提示
  • GET /plugin/mcp/prompts/:name -获得提示

认证

MCP插件使用WildDuck的本地身份验证系统。所有端点都需要使用以下方式之一进行身份验证:

  1. URL路径参数 (建议MCP客户使用):
/plugin/mcp/{accessToken}/resources
  1. X-Access-Token标头:
X-Access-Token: your-wildduck-access-token
  1. 授权承载头:
Authorization: Bearer your-wildduck-access-token
  1. 查询参数 (不推荐):
?accessToken=your-wildduck-access-token

获取访问令牌

要获得MCP插件的访问令牌,请使用WildDuck的API进行身份验证:

curl -X POST http://localhost:8080/authenticate \
  -H "Content-Type: application/json" \
  -d '{
    "username": "user@example.com",
    "password": "your-password",
    "scope": "master",
    "token": true
  }'

这将返回一个响应 token 字段:

{
  "success": true,
  "id": "507f1f77bcf86cd799439011",
  "username": "user@example.com",
  "token": "a1b2c3d4e5f6..."
}

支持的令牌类型:

  • 访问令牌 (推荐):通过生成 /authenticate 端点
  • 特定于应用程序的密码:16个字符的应用程序密码
  • 主密码:用户的主帐户密码(不建议用于应用程序)

经过身份验证的用户上下文会自动传递给所有MCP操作,您永远不需要指定用户ID。

安全:插件强制执行严格的访问控制:

  • 用户只能访问自己的邮箱和邮件
  • 所有操作在继续之前都要验证所有权
  • 尝试访问其他用户的数据将导致“拒绝访问”错误
  • 禁用或暂停的帐户无法访问MCP API

可用资源

静态资源

  • wildduck://mailbox/list -列出用户的邮箱
  • wildduck://messages/recent -从收件箱或指定邮箱获取最近的邮件
  • wildduck://user/info -获取用户帐户信息

动态资源

  • wildduck://message/{messageId} -按ID获取包含完整内容的特定消息
  • wildduck://attachment/{messageId}/{attachmentId} -下载附件作为二进制数据

备注:在API响应中返回消息和附件资源URI:

  • 列出消息时,每条消息都包含一个 resourceUri 领域
  • 收到邮件时,每个附件都包含 resourceUri 领域

可用工具

电子邮件阅读(始终可用)

  • listMailboxes -列出所有具有可选邮件计数的邮箱
  • getMessages -从带有分页的邮箱获取邮件(不标记为已读)

- 每条消息包括 hasThread 字段,指示它是否是对话的一部分

  • getMessage -按ID获取包含完整内容的特定消息(不标记为已读)

- 始终包括 thread 包含相关消息的信息(如果是对话的一部分) - 列出带有元数据(id、文件名、contentType、大小)的附件 - 每个附件包括 publicUrl 用于安全、限时的直接访问

  • getThread -获取对话线程中的所有消息(查找回复和相关消息)
  • getAttachment -从邮件中下载附件(返回base64编码数据)
  • searchMessages -跨邮箱搜索邮件

电子邮件管理(在只读模式下禁用)

  • sendEmail -发送电子邮件
  • moveMessage -将邮件移动到另一个邮箱
  • deleteMessage -删除邮件(移动到废纸篓或永久删除)
  • createMailbox -创建新的邮箱文件夹
  • markAsRead -将邮件标记为已读或未读
  • markAsFlag -标记或取消标记信息

可用提示

  • email_summary -生成最近电子邮件的摘要
  • draft_reply -起草对特定电子邮件的回复

示例用法

使用基于URL的身份验证(建议用于MCP)

初始化MCP会话
curl -X POST http://localhost:8080/plugin/mcp/YOUR_ACCESS_TOKEN/initialize \
  -H "Content-Type: application/json" \
  -d '{"protocolVersion": "2024-11-05"}'
列出邮箱
curl http://localhost:8080/plugin/mcp/YOUR_ACCESS_TOKEN/resources/wildduck://mailbox/list
发送电子邮件
curl -X POST http://localhost:8080/plugin/mcp/YOUR_ACCESS_TOKEN/tools/sendEmail \
  -H "Content-Type: application/json" \
  -d '{
    "arguments": {
      "to": "recipient@example.com",
      "subject": "Hello from MCP",
      "text": "This email was sent via MCP!"
    }
  }'
下载附件
# Get attachment info only
curl -X POST http://localhost:8080/plugin/mcp/YOUR_ACCESS_TOKEN/tools/getAttachment \
  -H "Content-Type: application/json" \
  -d '{
    "arguments": {
      "messageId": "507f1f77bcf86cd799439011",
      "attachmentId": "ATT00001",
      "returnType": "info"
    }
  }'

# Download attachment data (base64 encoded)
curl -X POST http://localhost:8080/plugin/mcp/YOUR_ACCESS_TOKEN/tools/getAttachment \
  -H "Content-Type: application/json" \
  -d '{
    "arguments": {
      "messageId": "507f1f77bcf86cd799439011",
      "attachmentId": "ATT00001"
    }
  }'
通过资源URI访问消息
# First, get messages which includes resource URIs
curl http://localhost:8080/plugin/mcp/YOUR_ACCESS_TOKEN/tools/getMessages \
  -H "Content-Type: application/json" \
  -d '{"arguments": {"mailbox": "INBOX"}}'

# Response includes resourceUri for each message:
# {
#   "content": [{
#     "type": "text",
#     "text": "{
#       \"messages\": [{
#         \"id\": \"507f1f77bcf86cd799439011\",
#         \"resourceUri\": \"wildduck://message/507f1f77bcf86cd799439011\"
#         ...
#       }]
#     }"
#   }]
# }

# Access the message directly via its resource URI
curl http://localhost:8080/plugin/mcp/YOUR_ACCESS_TOKEN/resources/wildduck://message/507f1f77bcf86cd799439011
通过资源URI访问附件
# First, get a message to see attachment resource URIs
curl http://localhost:8080/plugin/mcp/YOUR_ACCESS_TOKEN/resources/wildduck://message/507f1f77bcf86cd799439011

# Response includes resourceUri for each attachment:
# {
#   "contents": [{
#     "text": "{
#       \"attachments\": [{
#         \"id\": \"ATT00001\",
#         \"filename\": \"document.pdf\",
#         \"resourceUri\": \"wildduck://attachment/507f1f77bcf86cd799439011/ATT00001\"
#         ...
#       }]
#     }"
#   }]
# }

# Download the attachment directly via its resource URI
curl http://localhost:8080/plugin/mcp/YOUR_ACCESS_TOKEN/resources/wildduck://attachment/507f1f77bcf86cd799439011/ATT00001
安全公共附件URL
# Get a message to see the public attachment URLs
curl -X POST http://localhost:8080/plugin/mcp/YOUR_ACCESS_TOKEN/tools/getMessage \
  -H "Content-Type: application/json" \
  -d '{"arguments": {"messageId": "507f1f77bcf86cd799439011"}}'

# Response includes publicUrl for each attachment:
# {
#   "content": [{
#     "text": "{
#       \"attachments\": [{
#         \"id\": \"ATT00001\",
#         \"filename\": \"report.pdf\",
#         \"publicUrl\": \"http://localhost:8080/plugin/mcp/att/507f1f77bcf86cd799439011/ATT00001/1734567890/AbCdEf123456-_/report.pdf\"
#         ...
#       }]
#     }"
#   }]
# }

# The publicUrl can be accessed directly without any authentication:
curl "http://localhost:8080/plugin/mcp/att/507f1f77bcf86cd799439011/ATT00001/1734567890/AbCdEf123456-_/report.pdf"

# These URLs are perfect for:
# - Sharing attachments via email or chat
# - Embedding in web applications
# - Temporary download links
# - Public access without exposing auth tokens

使用基于标头的身份验证

curl http://localhost:8080/plugin/mcp/resources/wildduck://mailbox/list \
  -H "X-Access-Token: your-access-token"

发展

要扩展插件,请执行以下操作:

  1. 在中添加新资源 lib/mcp-server.js initializeCapabilities()
  2. 添加具有适当输入模式的新工具
  3. 实现处理程序方法
  4. 如果需要,更新配置架构

安全附件URL

该插件为附件生成安全、有时间限制的URL,可以在不暴露访问令牌的情况下共享:

原理

  • 消息响应中的每个附件都包括 publicUrl 领域
  • URL使用HMAC-SHA1签名,并包含过期时间戳
  • 默认过期时间为1小时(可配置)
  • 无需身份验证令牌-URL本身包含授权
  • 基于干净路径的格式: /plugin/mcp/att/////filename.ext

示例响应

{
  "attachments": [{
    "id": "ATT00001",
    "filename": "document.pdf",
    "contentType": "application/pdf",
    "size": 102400,
    "resourceUri": "wildduck://attachment/507f1f77bcf86cd799439011/ATT00001",
    "publicUrl": "https://mail.example.com/plugin/mcp/att/507f1f77bcf86cd799439011/ATT00001/1734567890/1a2B3c4D5e6F7g8H/document.pdf"
  }]
}

配置

[mcp.api]
# Public URL is optional - by default URLs are generated from request headers
# Only set this if behind a proxy that doesn't forward proper headers
# publicUrl = "https://mail.example.com"

[mcp.mcp]
# IMPORTANT: Use a secure random string in production!
attachmentSecret = "your-secure-random-string-here"

安全功能

  • 限时访问(默认1小时后过期)
  • 加密签名的URL可防止篡改
  • 验证不需要数据库查找
  • 可以通过电子邮件、聊天等安全共享。
  • 自动文件名清理

安全考虑

访问控制

  • 用户隔离:每个用户只能访问自己的数据
  • 所有权验证:每个操作在继续之前都会验证资源所有权
  • 无跨用户访问:尝试访问其他用户的邮箱或邮件将失败
  • 账户状态:已禁用或已挂起的帐户被阻止访问API

最佳实践

  • 在生产环境中始终使用HTTPS来保护访问令牌
  • 适当配置CORS源以防止未经授权的访问
  • 对MCP客户端使用基于URL的身份验证(URL路径中的令牌)
  • 实施限速以防止滥用
  • 监控访问日志中的可疑活动
  • 定期轮换访问令牌
  • 从不在用户之间共享访问令牌

令牌安全

  • WildDuck访问令牌具有可配置的TTL(生存时间)
  • 每次请求时都会验证令牌
  • 无效或过期的令牌被拒绝
  • 令牌验证包括签名验证

许可证

麻省理工学院

工具与能力

工具数量

12

资源数量

0

提示词数量

0

能力标签

邮件服务JavaScript本地部署AI交互API集成邮件管理自动化

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

消息与邮件处理

把群消息、邮件接进助手,按规则汇总和回复。

工单与任务流转

在对话里建单、改状态,少切换系统。

团队信息同步

把会议纪要和文档更新同步到协作工具。

选择建议

值得选的地方

  • 工具数量 12 个,一次接入能覆盖的操作比单点工具更全。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在办公协作场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到访问 Token的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Wildduck MCP Plugin

MCP World · 本页

12未说明未标注1 个2026-05-17
Karakeep MCP

MCP World

0未说明未标注1 个2026-05-17
Excalidraw MCP App

MCP World

0未说明未标注1 个2026-05-17
Slack MCP

MCP.so

18stdio有4 个2026-05-17
HiveChat MCP

MCP World

0HTTP未标注2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Wildduck MCP Plugin 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Wildduck MCP Plugin 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Wildduck MCP Plugin 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Wildduck MCP Plugin 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Wildduck MCP Plugin 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP