使用说明
日历和电子邮件MCP服务器
一个模型上下文协议(MCP)服务器,使AI助手能够跨多个帐户访问电子邮件、日历和联系人数据——Microsoft 365、Outlook.com、Google Workspace、ICS提要和JSON日历文件。
概述
日历MCP将来自多个提供商的电子邮件、日历和联系人信息聚合到一组统一的MCP工具中。像Claude Desktop、VS Code with Copilot和其他MCP兼容客户端这样的人工智能助手可以一次查询您的所有帐户,搜索电子邮件,查看日历,查找空闲时间,发送消息,创建事件和管理联系人。
支持的提供商
| 提供商 | 电子邮件 | 日历 | 联系人 | 身份验证 |
|---|---|---|---|---|
| Microsoft 365 | 是 | 是 | 有 | OAuth 2.0(SOAP) |
| Outlook.com | 是 | 是 | 有 | OAuth 2.0(SOAP) |
| 谷歌工作区/Gmail | 是 | 是 | 有 | OAuth 2.0 |
| ICS日历源 | -- | 只读 | -- | 无(公共URL) |
| JSON日历文件 | -- | 只读 | -- | 无(本地文件) |
MCP工具
服务器将这些工具暴露给AI助手:
- list_计数 --列出所有已配置的帐户
- 获取电子邮件 / 搜索邮件 --跨帐户阅读和搜索电子邮件
- get_email_details --获取完整的电子邮件内容
- get_textual_email_summary --基于人工智能的主题聚类和人物角色分析
- send_邮件 --使用基于智能域的路由发送电子邮件
- 列表_日历 / get_calendar_events --查看日历和事件
- get_calendar_event_details --获取完整的活动详细信息
- 查找可用时间 --在所有日历中查找空闲时间
- create_event --创建日历事件
- 删除事件 --删除日历事件(需要组织者/编辑权限)
- 响应事件 --接受、暂时接受或拒绝活动邀请
- get_contacts / search_contacts --跨帐户读取和搜索联系人
- get_contact_details --获取完整的联系信息
- create_contact / update_contact / 删除联系人 --管理联系人
看 docs/mcp-tools.md 了解完整的工具规格。
入门指南
先决条件
预构建二进制文件 是自给自足的——不是的。NET运行时需要。
从源头构建 需要。NET 10 SDK。
安装
从下载预构建包 发布:
| 平台 | 套餐 |
|---|---|
| Windows(安装程序) | calendar-mcp-setup-win-x64.exe |
| 窗口(zip) | calendar-mcp-win-x64.zip |
| Linux x64 | calendar-mcp-linux-x64.tar.gz |
| macOS英特尔 | calendar-mcp-osx-x64.tar.gz |
| macOS苹果硅 | calendar-mcp-osx-arm64.tar.gz |
看 安装指南 详细步骤。
配置帐户
使用CLI添加帐户:
# Microsoft 365 or Outlook.com
CalendarMcp.Cli add-m365-account
# Google Workspace or Gmail
CalendarMcp.Cli add-google-account
# Verify
CalendarMcp.Cli list-accounts
CalendarMcp.Cli test-account <account-id>
帐户设置指南:
连接您的AI助手
克劳德桌面 --添加到您的配置中(%APPDATA%\Claude\claude_desktop_config.json 在Windows上):
{
"mcpServers": {
"calendar-mcp": {
"command": "C:\\Program Files\\Calendar MCP\\CalendarMcp.StdioServer.exe",
"args": [],
"env": {}
}
}
}
看 Claude桌面设置指南 适用于所有平台和故障排除。
部署选项
标准服务器(本地)
默认模式。AI助手将服务器作为通过stdin/stdout通信的子进程启动。
CalendarMcp.StdioServer
HTTP服务器(容器化)
用于远程或共享部署。包括一个DateTimeadmin UI和健康检查端点。
# Run directly
dotnet run --project src/CalendarMcp.HttpServer
# Or via Docker
docker build -t calendar-mcp-http .
docker run -p 8080:8080 -v calendar-mcp-data:/app/data calendar-mcp-http
请参阅Kubernetes和其他容器编排设置的HTTP传输文档。
从源头构建
git clone https://github.com/MarimerLLC/calendar-mcp.git
cd calendar-mcp
dotnet build src/calendar-mcp.slnx --configuration Release
项目结构
src/
├── CalendarMcp.Core Core library — models, providers, MCP tools, services
├── CalendarMcp.Auth Authentication helpers (MSAL, Google OAuth)
├── CalendarMcp.Cli CLI for account management
├── CalendarMcp.StdioServer MCP server (stdio transport)
└── CalendarMcp.HttpServer MCP server (HTTP transport) with admin UI
从源代码运行
# Stdio server
dotnet run --project src/CalendarMcp.StdioServer
# HTTP server
dotnet run --project src/CalendarMcp.HttpServer
# CLI
dotnet run --project src/CalendarMcp.Cli -- list-accounts
配置
帐户和服务器配置存储在JSON文件中:
| 平台 | 位置 |
|---|---|
| 窗户 | %LOCALAPPDATA%\CalendarMcp\ |
| Linux/macOS | ~/.local/share/CalendarMcp/ |
| 覆盖 | 设置 CALENDAR_MCP_CONFIG 环境变量 |
看 docs/configuration.md 以获取完整的配置参考。
文档
| 主题 | 链接 |
|---|---|
| 安装 | docs/INSTALLATION.md |
| 建筑 | docs/architecture.md |
| MCP工具 | docs/mcp-tools.md |
| 供应商 | docs/providers.md |
| 身份验证 | docs/authentication.md |
| 配置 | docs/configuration.md |
| 安全 | docs/security.md |
| 遥测 | docs/telemetry.md |
| 智能路由 | docs/route.md |
| 设计 | docs/DESIGN.md |
贡献
欢迎捐款。请阅读我们的 行为准则 在参与之前。
以下是如何开始:
- 分叉存储库并创建功能分支。
- 构建并验证您的更改是否编译:
dotnet build src/calendar-mcp.slnx - 遵循现有的代码风格和模式——该项目使用标准的C#/。NET规范。
- 打开一个pull请求
main。CI工作流将自动构建。
持续集成
GitHub Actions工作流在所有PR上运行,并推送到 main,构建解决方案。网10。
兴趣领域
- 其他日历/电子邮件提供商
- 提高了测试覆盖率
- 文档改进
- 性能优化
- 管理UI中的可访问性改进
许可证
麻省理工学院 --版权所有(c)2025罗克福德Lhotka
该项目与微软、谷歌或Anthropic无关。
