我把smailr做成mcp了!!!

最近kimi的额度重置了,然后想着,反正额度放着也是浪费,把 Smailr(https://smailr.com)的邮件服务做成了mcp。装完之后,Claude Desktop、Cursor、Cherry Studio、Cline 这些客户端就能直接用自然语言操作邮箱了,比如:

  • “列出我收件箱最新的 5 封邮件”
  • “用 hello@我的域名 给 [email protected] 发封邮件”
  • “我的存储配额用了多少?”

目前实现了 23 个工具,基本覆盖了 Smailr 的全部 API:邮箱增删改查、邮件列表/详情/搜索/发送、附件上传、联系人、文件夹、标签,还有收信规则、签名、配额、统计这些只读接口。

最省事的地方是登录:不需要手动去设置页创建 API key,内置了 NodeLoc OAuth 直接登录。跑一句:

npx smailr-mcp auth

它会自动打开浏览器走 NodeLoc 授权,授权完成后把地址栏的 URL 贴回终端(样例地址格式:smailr.com/app/oauth/callback/nodeloc?code=xxxxxxxx&state=xxxxxx…)(),就自动帮你创建一把 scoped API key,并把可直接粘贴的 MCP 客户端配置打印出来。全程不用碰设置页,登录、建 key、配置一气呵成。

其他几个设计上的考虑:

  • 本地优先:服务器以 stdio 方式跑在你自己的电脑上,API key 不经过任何第三方
  • 依赖极少:只用了官方的 @modelcontextprotocol/sdk 和 zod,代码很薄,想改也好改

使用方式:

npx -y smailr-mcp

然后在 MCP 客户端里加配置(README 里有完整 JSON)。

已知限制也如实说:Smailr没定义响应 schema,所以工具输出是原始 JSON 透传;联系人/文件夹/标签只支持列表和创建(smailr就没有更新/删除接口);没有 webhook 推送,新邮件需要轮询 list_mails。

项目地址:GitHub - Patrick130306/smailr-mcp: MCP server for Smailr mail - read, search and send email from any MCP-compatible AI client · GitHub

MIT 协议,欢迎 star / issue / PR。
特别感谢 @runoneall 提供灵感
P.S. 正在开发与nodeloc有关的mcp,敬请期待
注:


点击授权之后出现这个是正常现象,只需要将此时地址栏的网址:形如smailr.com/app/oauth/callback/nodeloc?code=xxxxxxxx&state=xxxx… 贴回你的客户端就可以了

7 个赞

Patrick130306/smailr-mcp — Smailr 邮件的 MCP 服务器:通过任何兼容 MCP 的 AI 客户端读取、搜索和发送电子邮件

0 个星标 · TypeScript · MIT · 最后提交 2026-08-30

厉害呦,可以再开一个帖子讲一下实现原理。可惜没办法点赞了(24小时限制)

就是一个协议转换器,最主要的功能其实实现oauth登录,用户输入回调地址后,mcp服务器将请求并获取cookie,再利用这个cookie创建一个key

:ac31:

强呀 好东西,很有思路

谢谢,对了,如果我做一个nodeloc mcp没关系吧(因为会涉及到api)
不过ios端上线了?你居然在用iphone发帖?

必须支持啊。很好的想法。 iOS做好了,但是还没上架,要等开发者账号审批。

1 个赞

ok,有你这句话我就放心去做了,祝你开发者账号早日审批通过 :xhj20:

老詹,上tg群看一下,发现了点漏洞…

能单独开只读模式吗,把发送和删除权限关掉