这是一个基于模型上下文协议(MCP)的服务器,提供对 Fastmail API 的访问,使AI助手能够与电子邮件、联系人和日历数据进行交互。
克隆或下载此仓库
安装依赖项:
npm install
构建项目:
npm run build
获取您的 Fastmail API 令牌:
设置环境变量:
export FASTMAIL_API_TOKEN="your_api_token_here"
# 可选:自定义基础 URL(默认为 https://api.fastmail.com)
export FASTMAIL_BASE_URL="https://api.fastmail.com"
启动 MCP 服务器:
npm start
开发模式(自动重载):
npm run dev
默认使用 main 分支:
FASTMAIL_API_TOKEN="your_token" FASTMAIL_BASE_URL="https://api.fastmail.com" \
npx --yes github:MadLlama25/fastmail-mcp fastmail-mcp
Windows PowerShell:
$env:FASTMAIL_API_TOKEN="your_token"
$env:FASTMAIL_BASE_URL="https://api.fastmail.com"
npx --yes github:MadLlama25/fastmail-mcp fastmail-mcp
指定标签版本:
FASTMAIL_API_TOKEN="your_token" \
npx --yes github:MadLlama25/fastmail-mcp@v1.6.1 fastmail-mcp
您可以使用打包的 .dxt 文件将此服务器安装为 Claude Desktop 的桌面扩展。
构建并打包:
npm run build
npx dxt pack
这将在项目根目录中生成 fastmail-mcp.dxt。
安装到 Claude Desktop:
.dxt 文件,或将它拖放到 Claude Desktop 中https://api.fastmail.com(默认)使用任何工具(例如 get_recent_emails)。
🎯 最受欢迎的工具:
mailboxId(可选),limit(默认:20)emailId(必需)to(必需数组),cc(可选数组),bcc(可选数组),from(可选),mailboxId(可选),subject(必需),textBody(可选),htmlBody(可选)query(必需),limit(默认:20)limit(默认:10,最大:50),mailboxName(默认:'inbox')emailId(必需),read(默认:true)emailId(必需)emailId(必需),targetMailboxId(必需)emailId(必需)emailId(必需),attachmentId(必需)query(可选),from(可选),to(可选),subject(可选),hasAttachment(可选),isUnread(可选),mailboxId(可选),after(可选),before(可选),limit(默认:50)threadId(必需)mailboxId(可选,默认为所有邮箱)emailIds(必需数组),read(默认:true)emailIds(必需数组),targetMailboxId(必需)emailIds(必需数组)limit(默认:50)contactId(必需)query(必需),limit(默认:20)calendarId(可选),limit(默认:50)eventId(必需)calendarId(必需),title(必需),description(可选),start(必需,ISO 8601),end(必需,ISO 8601),location(可选),participants(可选数组)dryRun(默认:true),limit(默认:3)此服务器使用 Fastmail 提供的 JMAP(JSON 元应用协议)API。JMAP 是一种现代且高效的替代 IMAP 的电子邮件访问方式。
许多功能在此 MCP 服务器中受到官方 Fastmail JMAP-Samples 存储库的启发,包括:
服务器使用 Fastmail API 的承载令牌认证。API 令牌提供了无需暴露主账户密码的安全访问。
Fastmail 对 API 请求应用了速率限制。服务器处理标准的速率限制,但过多的请求可能会被限流。
src/
├── index.ts # 主 MCP 服务器实现
├── auth.ts # 认证处理
├── jmap-client.ts # JMAP 客户端封装
└── contacts-calendar.ts # 联系人和日历扩展
npm run build
npm run dev
MIT
欢迎贡献!请确保:
npm install 以确保所有依赖项均已安装npm run build 检查 TypeScript 编译是否完成且无错误check_function_availability 查看设置指导如果日历和联系人功能返回“禁止”错误,这可能是由于:
解决方案:运行 check_function_availability 以获取逐步设置指导。
使用内置的测试工具:
如需更详细的错误信息,请在运行服务器时检查控制台输出。