Protonmail Mcp

Protonmail Mcp

🚀 Protonmail MCP 服务器

该MCP服务器由 amotivv 提供,用于与Protonmail服务集成。它专为需要通过Model Context Protocol(MCP)协议连接到外部服务的用户设计,能帮助用户轻松实现相关功能。

🚀 快速开始

此MCP服务器由 amotivv 提供,可直接与Protonmail服务集成,为需通过MCP协议连接外部服务的用户带来便利。

✨ 主要特性

  • 直接集成:无需额外配置,即可直接连接到Protonmail服务。
  • 安全传输:支持通过SSL/TLS加密通信,确保数据传输的安全性。
  • 多线程支持:服务器能够处理多个并发请求,提升性能和响应速度。
  • 日志记录:内置详细的日志系统,便于调试和监控服务器状态。

📦 安装指南

快速安装

  1. 克隆仓库:
git clone https://github.com/amotivv/protonmail-mcp.git
cd protonmail-mcp
  1. 安装依赖并构建:
npm install
npm run build
  1. 配置环境变量,设置Protonmail API密钥和端点。
  2. 启动服务器:
npm start

扩展功能

  • 自定义日志:允许用户根据需求扩展日志记录的功能。
  • 插件支持:提供灵活的插件系统,便于添加额外功能模块。

📚 详细文档

配置说明

环境变量配置

以下是服务器运行所需的关键环境变量:

变量名 类型 必填 描述
PROTONMAIL_API_KEY String Protonmail API访问密钥
PROTONMAIL_ENDPOINT String 默认为api.proton.me
PORT Number 默认端口为3001

日志配置

用户可以选择输出格式和日志级别,支持以下选项:

  • JSON格式:便于机器解析。
  • PLAIN文本:适合手动查看。
  • SYSLOG格式:兼容系统日志记录工具。

使用说明

如何发送邮件

const { ProtonmailService } = require('protonmail-mcp');

async function sendEmail(to, subject, text) {
const service = new ProtonmailService({
apiKey: 'your_api_key',
endpoint: 'api.proton.me'
});

await service.send({
to,
subject,
text
});
}

// 示例调用
sendEmail('user@example.com', '测试邮件', '这是一封测试邮件。')
.then(() => console.log('邮件发送成功!'))
.catch(err => console.error('发送失败:', err));

故障排除

常见问题解答

  1. 连接超时
    • 检查网络是否正常。
    • 确保Protonmail API端点可用。
    • 查看服务器日志获取更多信息。
  2. 认证失败
    • 验证API密钥的正确性。
    • 确保密钥未过期或被锁定。
    • 联系Protonmail支持团队确认密钥状态。
  3. 邮件发送限制
    • 检查速率限制文档。
    • 分散邮件发送频率,避免触发限制。
    • 升级到高级账户以提高发送限制。

💻 使用示例

基础用法

const { ProtonmailService } = require('protonmail-mcp');

async function main() {
const service = new ProtonmailService({
apiKey: process.env.PROTONMAIL_API_KEY,
endpoint: process.env.PROTONMAIL_ENDPOINT
});

try {
await service.sendEmail('to@example.com', '测试主题', '测试内容');
console.log('邮件发送成功');
} catch (error) {
console.error('发送失败:', error);
}
}

main();

高级用法

const { ProtonmailService, Logger } = require('protonmail-mcp');

// 自定义日志记录器
const logger = new Logger({
format: 'json',
level: 'debug'
});

async function processEmails(emails) {
const service = new ProtonmailService({
apiKey: process.env.PROTONMAIL_API_KEY,
endpoint: process.env.PROTONMAIL_ENDPOINT,
logger
});

for (const email of emails) {
try {
await service.send(email);
logger.info(`邮件已发送到 ${email.to}`);
} catch (error) {
logger.error(`发送失败:${email.to}`, error);
}
}
}

// 示例调用
processEmails([
{ to: 'user1@example.com', subject: '通知', text: '新的消息提醒' },
{ to: 'user2@example.com', subject: '更新', text: '系统已更新,请检查。' }
]);

文档资源

  • 官方文档:详细说明了API使用方法和最佳实践。
  • 示例代码仓库:提供多种应用场景的代码示例。

贡献指南

欢迎社区贡献代码或提出建议,帮助我们共同完善这个项目。

提交规范

  1. 为每个提交创建清晰的问题描述。
  2. 确保代码遵循项目的编码风格。
  3. 提供详细的变更日志和测试用例。

📄 许可证

该软件基于MIT许可证发布,允许自由使用、修改和分发,但需保留版权声明。

📞 联系方式

如需反馈或技术支持,请访问我们的 GitHub仓库 提交问题。

  • 0 关注
  • 0 收藏,21 浏览
  • system 提出于 2025-10-03 12:57

相似服务问题

相关AI产品