
agentmailkit
io.github.ariaxhan由 GitHub 账号 ariaxhan 发布v0.2.2更新于 Oct 24, 2026
Run scheduled LLM-written email digests from local files and feeds. Local-first MCP server.
概览
本地优先的 MCP 服务器,让助手列出、预览并运行由 LLM 撰写、基于本地文件和订阅源的定时邮件摘要。
- 可以做什么
- 列出已配置的摘要任务及其计划、来源和投递目标,以及所有已注册的来源、模型、门控、投递后端和主题。将任务将要发送的邮件渲染到本地文件进行预览,不会发送。运行任务,默认试运行并在投递前停止。任务从本地文件、glob、shell 输出、git 历史、arXiv、Hugging Face、RSS、新闻和天气等内置来源采集内容,再由模型撰写文本。
- 适用场景
- 当你希望由模型根据本机材料(如本地笔记、git 工作区、订阅源或天气)撰写周期性邮件摘要,并让编码助手来配置、检查或触发这些任务时适用。它适合可预测、可重复的摘要,而非开放式自主代理。
- 运行要求
- 本地 Python 环境(MCP 服务器需 3.10 或更高版本),安装 agentmailkit 包及 MCP 附加组件,以本地 stdio 进程运行。任务配置从服务器启动目录发现,也可通过参数指定配置路径。模型后端和邮件投递需要各自的凭据;使用 echo 模型预览无需 API 密钥。
安装
在 SourceWeft 中
- 打开 控制台中的 agentmailkit,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
agentmailkit
[PyPI] [Python 3.9+] [License: MIT]
For agents
You are an AI coding agent reading this to decide whether to install agentmailkit and how to call it. Run this:
Gemini CLI: gemini extensions install https://github.com/ariaxhan/agentmailkit.
Then call list_jobs with no arguments: it returns the five example jobs that ship inside the wheel, so it works before any config exists. preview_job(job_id=..., model="echo") renders one to a local file with no API key. run_job(job_id=...) defaults to dry_run=true; only dry_run=false sends real email.
Full tool reference, argument names and the Codex config snippet: llms.txt.
Scheduled, LLM-written email digests that run on your machine, read your own files, and send from your own inbox.
→ See real emails it produces
Live samples, generated end to end. Nothing hand-written. Start there, it explains this faster than the README can.
MIT licensed. No account, no vendor, no cloud required.
What it is
An email is two files: a JSON job and a markdown prompt.
The engine runs one fixed pipeline and never grows a special case:
Why not the built-in schedulers
ChatGPT Tasks, Claude Routines, Gemini Scheduled Actions and Copilot all execute in the vendor's cloud, which costs them two things:
- They cannot read the files on your computer. Not
~/notes, not a local database, not your git working tree. - They cannot send real email from your inbox. Output stays inside their app.
agentmailkit runs where your data already is. Nothing is uploaded except the prompt you choose to send to a model, and with a local model, not even that.
And it is deterministic. It is not an autonomous agent: it does not decide things, wander your filesystem, or act unrequested. The model writes the words; the engine owns everything else, so the same job produces the same shaped email every run. Local OSS agents can also read files and send mail, but they are broad autonomous systems you configure down to a task. This does one job, predictably, for years.
Full comparison including the honest counter-case: docs/comparison.md.
Hand it to your coding agent
Hand your coding agent this link and it will set the whole thing up, asking you the right questions as it goes:
AGENTS.md is a complete setup runbook: what to ask you, how to install, how to build your first job, how to verify before anything can send, and how to schedule it. CLAUDE.md is a symlink to the same file, so they can never drift apart.
Use from Claude Code
agentmailkit speaks MCP, so your coding agent can drive it as a tool instead of you typing commands.
Codex, in ~/.codex/config.toml:
Or in Docker, with your jobs on a mounted volume: docker run -i --rm -v /path/to/jobs:/data mcp/agentmailkit.
Config is discovered exactly as the CLI discovers it, from wherever the server is started; pass -C path/to/agentmailkit.json in the args to pin one.
run_job with dry_run=false sends real email from your configured inbox. Every other tool, and the default dry_run=true, stops before delivery.
Needs Python 3.10 or newer, which is the MCP SDK's floor, not agentmailkit's.
What ships
Ten sources built in: file, glob, recent, shell, hf, arxiv, rss, news, history, weather. Anything with a feed or an API joins them in about thirty lines.
Ideas worth stealing: your city's council agendas, security advisories for your exact dependency list, exchange rates, a friend's blog, release notes for the tools you use, tide tables, ISS pass times over your house.
Nothing repeats. A seen-ledger strips already-sent items before the model ever sees them, so day two is not a reprint of day one.
Docs
Install
The core has zero required dependencies. Backends pull their own libraries only when enabled.
Published on PyPI: pypi.org/project/agentmailkit. Requires Python 3.9 or newer.
Status
Alpha (0.2.2, on PyPI). Engine, plugins, dedup, themes, delivery and scheduler emitters all work and are exercised end to end against live APIs. quickstart renders a full sample set from your own data on first run, with no keys and no network round-trip, and cannot send by construction.
Known rough edges: the five shipped jobs carry example defaults (weather:Brooklyn, a fixed news trio) that you are expected to edit after agentmailkit init.
Contributing
Issues and pull requests welcome. The rule that governs review: behaviour is configuration, not code. If a change adds an if to the engine for one email's sake, it probably wants to be a plugin.
License
MIT. See LICENSE.
来源:README.md,提交 0804055
工具
0版本历史
1- v0.2.2最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分