筛选电子邮件过滤MCP服务器
一个全面的模型上下文协议(MCP)服务器,用于创建、管理和维护Sieve电子邮件过滤器。此服务器提供了以编程方式生成Sieve脚本的工具,使电子邮件过滤器管理更容易、更易于维护。
特性
- 全面的筛网支撑:创建所有常见的筛选过滤器类型(垃圾邮件、发件人、域、大小等)
- 预构建模板:适用于常见过滤场景的现成模板
- 验证:Sieve脚本和规则的内置验证
- JSON集成:通过JSON序列化与其他工具轻松集成
- MCP协议:AI助手的标准模型上下文协议接口
安装
- 克隆存储库:
git clone https://github.com/MattyStacks/seive-email-filtering-mcp-server.git
cd seive-email-filtering-mcp-server- 安装软件包:
pip install -e .或者手动安装依赖项:
pip install mcp pydantic click typing-extensions快速开始
运行MCP服务器
python -m seive_email_filtering_mcp_server.server示例用法
from seive_email_filtering_mcp_server.utils import SieveFilterBuilder
from seive_email_filtering_mcp_server.generator import SieveGenerator
# Create a spam filter
spam_rule = SieveFilterBuilder.create_spam_filter("Spam", priority=10)
# Create a mailing list filter
list_rule = SieveFilterBuilder.create_mailing_list_filter(
"python-dev@python.org",
"Lists/Python",
priority=20
)
# Generate Sieve script
generator = SieveGenerator()
script = SieveScript(
name="My Email Filters",
rules=[spam_rule, list_rule],
requires=["fileinto"]
)
print(generator.generate_script(script))可用工具
MCP服务器提供以下工具:
过滤器创建工具
create_spam_filter-创建垃圾邮件过滤规则create_mailing_list_filter-筛选邮件列表邮件create_sender_filter-按特定发件人电子邮件筛选create_domain_filter-按发件人域筛选create_subject_filter-按主题线图案过滤create_size_filter-按邮件大小筛选create_vacation_response-创建假期自动回复create_blacklist_filter-阻止特定发件人create_whitelist_filter-确保重要信息得到保留
脚本管理工具
generate_sieve_script-根据规则生成完整的筛选脚本validate_sieve_script-验证脚本是否有错误get_script_template-获取预构建的脚本模板
文档工具
explain_sieve_syntax-获取有关Sieve语法和功能的帮助
脚本模板
预构建模板可用于常见用例:
基本电子邮件组织
- 垃圾邮件过滤
- 大消息处理
综合过滤
- 白名单/黑名单管理
- 垃圾邮件过滤
- 邮件列表组织
- 基于域的过滤
- 大小限制
智能过滤度假
- 假期自动回复
- 跳过自动消息
- 避免邮件列表回复
MCP客户端配置
Claude桌面配置
要与MCP客户端(如Claude Desktop)一起使用,请在配置中添加:
{
"mcpServers": {
"seive-email-filtering": {
"command": "python",
"args": ["-m", "seive_email_filtering_mcp_server.server"],
"env": {},
"disabled": false
}
}
}GitHub复制集成
虽然GitHub Copilot本身不支持MCP服务器,但您可以将此服务器与您的Sieve电子邮件过滤项目集成:
- 添加为电子邮件过滤存储库的子模块
- 设置VS代码任务 访问MCP服务器功能
- 创建上下文文件 帮助Copilot理解Sieve语法
- 使用CLI命令 在您的开发工作流程中
看 COPILOT_INTEGRATION.md 和 examples/copilot_integration_example.md 有关详细的设置说明。
快速设置您的电子邮件过滤项目:
# Add as submodule
git submodule add https://github.com/MattyStacks/seive-email-filtering-mcp-server.git tools/sieve-mcp-server
# Use CLI commands in your workflow
cd tools/sieve-mcp-server
python -m seive_email_filtering_mcp_server.cli template comprehensive_filtering --output my-filters.sieve筛网过滤器示例
垃圾邮件过滤器
# Rule: Spam Filter
# Move spam messages to spam folder
if anyof (header "X-Spam-Flag" "YES",
header :matches "X-Spam-Status" "*Yes*",
header :contains "Subject" ["***SPAM***", "[SPAM]", "***UCE***"]) {
fileinto "Spam";
stop;
}邮件列表筛选器
# Rule: Mailing List: python-dev@python.org
# Filter messages from python-dev@python.org mailing list
if anyof (header :matches "List-ID" "*python-dev@python.org*",
header :matches "List-Post" "*python-dev@python.org*",
header :matches "X-Mailing-List" "*python-dev@python.org*") {
fileinto "Lists/Python";
}尺寸过滤器
# Rule: Size Filter: over 10MB
# Filter messages over 10MB in size
if size :over 10485760 {
fileinto "Large Messages";
}api参考
核心型号
SieveScript-使用规则和元数据完成筛选脚本SieveRule-带有测试和操作的单独过滤规则SieveTest-测试条件(标题、地址、正文、大小等)SieveAction-要采取的行动(归档、丢弃、拒绝等)
公用事业
SieveFilterBuilder-常见过滤器类型的出厂方法SieveGenerator-将模型转换为Sieve脚本文本SieveValidator-验证脚本的正确性SieveTemplates-预构建脚本模板
测试
运行测试套件:
python tests/test_sieve_server.py或者使用pytest(如果已安装):
pip install pytest pytest-asyncio
pytest tests/例子
请参阅 examples/ 目录以获取更详细的使用示例:
python examples/basic_usage.py贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
筛分资源
支持
如有疑问或问题:
- 检查
- 创建一个新问题,详细说明您的问题
- 包括示例代码和预期行为与实际行为
