使用说明
快速邮件MCP服务器
MCP(模型上下文协议)服务器,通过JMAP API为AI助手提供对您的Fastmail电子邮件的安全访问。
特性
- 🔍 搜索电子邮件:通过文本查询搜索您的电子邮件,并按邮箱筛选
- 📧 获取电子邮件详细信息:检索完整的电子邮件内容,包括正文和附件
- 📁 列出邮箱:查看所有包含电子邮件计数的邮箱
- 🔒 安全:使用具有正确身份验证的Fastmail API令牌
先决条件
- Python 3.12+
- Fastmail帐户
- Fastmail API令牌(说明如下)
获取您的Fastmail API代币
- 登录您的Fastmail帐户
- 首选 设置→ 隐私和安全→ 集成→ API令牌
- 或访问:https://app.fastmail.com/settings/security/tokens/new
- 创建具有以下作用域的新API令牌:
urn:ietf:params:jmap:core(必填)urn:ietf:params:jmap:mail(访问电子邮件时需要)
- 复制生成的令牌-您需要它进行设置
安装
-
克隆或下载此存储库
-
安装依赖项:
pip install -r requirements.txt
- 创建一个
.env项目根目录中的文件:
cp .env.example .env
- 编辑
.env并添加您的Fastmail API令牌:
FASTMAIL_API_TOKEN=your_actual_token_here
AI客户端的配置
克劳德桌面版
将此添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"fastmail": {
"command": "python",
"args": ["/absolute/path/to/fastmail_mcp.py"],
"env": {
"FASTMAIL_API_TOKEN": "your_fastmail_api_token_here"
}
}
}
}
替换 /absolute/path/to/ 与这个项目的实际路径。
其他MCP客户端
对于其他兼容MCP的客户端(VS Code、Cursor等),将其配置为运行:
python /path/to/fastmail_mcp.py
确保设置 FASTMAIL_API_TOKEN 环境变量。
Smithery部署
此服务器已配置为在上部署 铁匠铺,一个用于托管和共享MCP服务器的平台。当部署到Smithery时,用户通过Smithery的配置流提供他们的Fastmail API令牌-在构建时不需要令牌。
部署到Smithery:
- 将此存储库推送到GitHub
- 转到Smithery仪表板并单击 “部署”
- 选择 “来自GitHub” 并连接您的存储库
- Smithery将自动构建和托管您的服务器
当用户从Smithery安装服务器时,系统将提示他们通过Smithery的安全配置界面输入Fastmail API令牌。
通过Smithery CLI使用:
# Install Smithery CLI
npm install -g @smithery/cli
# Run the server (you'll be prompted for your API token)
smithery run @your-username/fastmail-mcp --config '{"FASTMAIL_API_TOKEN":"your_token"}'
通过Smithery添加到克劳德桌面:
{
"mcpServers": {
"fastmail": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@your-username/fastmail-mcp",
"--config",
"{\"FASTMAIL_API_TOKEN\":\"your_token_here\"}"
]
}
}
}
HTTP模式(用于Smithery/远程部署):
服务器支持stdio(本地)和HTTP(远程)传输:
# Run in HTTP mode on port 8000
python fastmail_mcp.py --http
# Run in stdio mode (default, for local use)
python fastmail_mcp.py
可用工具
1.搜索邮件
在您的Fastmail帐户中搜索电子邮件。
参数:
query(字符串,可选):搜索文本(搜索主题、正文、发件人、收件人)limit(数量,可选):要返回的最大电子邮件数(默认值:10,最大值:50)mailbox(字符串,可选):按邮箱筛选(例如,“收件箱”、“已发送”、“存档”)
Claude中的示例用法:
“在我的电子邮件中搜索有关“项目截止日期”的消息” “显示收件箱中的最后5封电子邮件” “查找来自的电子邮件john@example.com"
2.获取电子邮件
获取特定电子邮件的完整内容。
参数:
email_id(字符串,必填):搜索结果中的电子邮件ID
Claude中的示例用法:
“显示电子邮件ID abc123的完整内容” “获取该邮件的电子邮件正文”
3.列表_邮箱
列出所有邮箱及其电子邮件计数。
Claude中的示例用法:
“我有哪些邮箱?” “显示我的文件夹以及每个文件夹中有多少封电子邮件”
测试
您可以使用MCP检查器测试MCP服务器:
npx @modelcontextprotocol/inspector python fastmail_mcp.py
这将打开一个web UI,您可以在其中手动测试工具。
安全说明
- 您的API令牌授予对您的Fastmail帐户的完全访问权限-确保其安全
- 永远不要承诺你的
.env文件或公开您的API令牌 - MCP服务器仅具有读取权限(不发送或删除电子邮件)
- 考虑仅为此MCP服务器创建一个专用的API令牌
故障排除
“必须设置FASTMAIL_API_TOKEN环境变量”
- 确保你的
.env文件存在并且包含您的API令牌 - 对于Claude Desktop,确保令牌在配置文件中
“401未经授权”
- 检查您的API令牌是否正确并且尚未被吊销
- 确保令牌具有所需的作用域
未返回电子邮件
- 尝试扩大搜索范围
- 检查邮箱名称是否正确(使用
list_mailboxes查看可用邮箱)
API费率限制
Fastmail对API请求有速率限制。MCP服务器优雅地处理了这一点,但避免在短时间内发出过多的请求。
许可证
MIT许可证-可根据需要自由修改和使用。
贡献
欢迎投稿!请随时打开问题或提交pull请求。
