日历管理服务器

一个MCP(模型上下文协议)服务器,使AI助手能够通过CalDAV与Fastmail日历交互,实现日历事件的查看、创建、修改和删除。

  • by NOVA-3951
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 NOVA-3951/Fastmail-Calendar-MCP

使用说明

Fastmail日历MCP服务器

MCP(模型上下文协议)服务器,使AI助手能够通过CalDAV与Fastmail日历进行交互。这允许AI在您的Fastmail帐户中查看、创建、修改和删除日历事件。

特性

  • 列出日历:查看您Fastmail帐户中的所有日历
  • 列出事件:从日期范围内的特定日历中检索事件
  • 创建事件:添加新的日历事件,包括标题、描述、位置和时间等详细信息
  • 更新事件:修改现有日历事件
  • 删除事件:删除日历事件

配置

此MCP服务器需要以下配置:

  • 用户名:您的Fastmail电子邮件地址(例如。, user@fastmail.com)
  • app密码:Fastmail应用程序密码(16个字符)

创建Fastmail应用程序密码

  1. 登录Fastmail
  2. 首选 设置 → 隐私和安全 → 集成
  3. 点击 新应用密码
  4. 选择权限(确保包括“日历”)
  5. 点击 生成密码
  6. 复制生成的密码(16个字符)

安装

通过史密瑟里

smithery install fastmail-calendar-mcp --client claude --config '{"username":"your-email@fastmail.com","appPassword":"your-app-password"}'

Claude Desktop的手动安装

添加到您的Claude Desktop配置文件(~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "fastmail-calendar": {
      "command": "npx",
      "args": [
        "-y",
        "fastmail-calendar-mcp"
      ],
      "env": {
        "FASTMAIL_USERNAME": "your-email@fastmail.com",
        "FASTMAIL_APP_PASSWORD": "your-app-password"
      }
    }
  }
}

用于游标IDE

添加到 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "fastmail-calendar": {
      "command": "node",
      "args": ["/path/to/fastmail-calendar-mcp/dist/index.js"],
      "env": {
        "FASTMAIL_USERNAME": "your-email@fastmail.com",
        "FASTMAIL_APP_PASSWORD": "your-app-password"
      }
    }
  }
}

发展

设置

npm install
npm run build

本地运行

export FASTMAIL_USERNAME="your-email@fastmail.com"
export FASTMAIL_APP_PASSWORD="your-app-password"
npm start

发展模式

npm run dev

这将监视更改并自动重建。

部署到Smithery

  1. 将此存储库推送到GitHub
  2. 首选 史密斯艾
  3. 点击 部署
  4. 选择您的GitHub存储库
  5. Smithery将自动检测TypeScript MCP项目并部署它

可用工具

list_calendars

列出您Fastmail帐户中的所有日历。

退货:日历对象数组 displayName, url, description,以及 timezone.

list_events

列出日期范围内特定日历中的事件。

参数:

  • calendarUrl (必填):日历的URL
  • startDate (必填):ISO格式的开始日期(例如“2024-01-01”)
  • endDate (必填):ISO格式的结束日期(例如“2024-12-31”)

退货:事件对象数组 url, etag,以及 data (iCalendar格式)。

create_event

创建新的日历事件。

参数:

  • calendarUrl (必填):创建活动的日历URL
  • summary (必填):活动标题
  • startDate (必填):ISO格式的事件开始日期/时间
  • endDate (必填):ISO格式的事件结束日期/时间
  • description (可选):事件描述
  • location (可选):活动地点

退货:带有创建的事件URL的成功消息。

update_event

更新现有日历事件。

参数:

  • eventUrl (必填):要更新的事件的URL
  • summary (可选):新事件标题
  • description (可选):新事件描述
  • startDate (可选):ISO格式的新开始日期/时间
  • endDate (可选):ISO格式的新结束日期/时间
  • location (可选):新活动地点

退货:成功消息。

delete_event

删除日历事件。

参数:

  • eventUrl (必填):要删除的事件的URL
  • etag (必填):活动的etag(从 list_events)

退货:成功消息。

示例用法

安装后,您可以询问您的AI助手:

  • “列出我的Fastmail日历”
  • “显示我下周的日历事件”
  • “在12月15日下午2点创建一个名为“团队同步”的会议”
  • “更新“团队同步”事件,在描述中包含缩放链接”
  • “删除URL为[event URL]的事件”

安全说明

  • 永远不要将您的Fastmail应用程序密码提交给版本控制
  • 使用环境变量或安全密钥管理
  • 应用程序密码比您的主Fastmail密码更安全
  • 您可以随时从Fastmail设置中撤销应用程序密码

许可证

麻省理工学院