日历服务

MCP Fantastical Server是一个用于Fantastical(macOS上的强大日历应用)的服务器,支持自然语言事件创建、日程查看和日历管理。

  • by aplaceforallmystuff
  • JavaScript
  • 本地部署
  • 18 星标
  • 更新于
在 GitHub 查看 aplaceforallmystuff/mcp-fantastical

使用说明

MCP虚拟服务器

MCP服务器 异想天开的 -macOS上功能强大的日历应用程序。

为什么使用这个?

  • 自然语言事件创建 -使用Fantastical强大的自然语言解析功能(“明天下午3点与约翰会面”)
  • 查看您的日程安排 -在不离开对话的情况下查看今天的活动或即将到来的约会
  • 快速日历访问 -立即跳转到Fantastical中的任何日期
  • 日历感知AI -让Claude了解您的可用性和日程安排
  • 零配置 -适用于您现有的幻想和日历设置

特性

类别 功能
事件创建 使用自然语言创建事件、指定日历、添加注释
日程查看 查看今天的活动、未来几天的活动
导航 开放幻想到特定日期
搜索 按标题、位置或注释搜索事件
日历管理 列出所有可用日历

先决条件

  • macOS(仅限macOS)
  • Node.js 18+
  • 异想天开的 安装
  • Terminal/Claude的日历访问权限

安装

使用npm(推荐)

npx mcp-fantastical

来源

git clone https://github.com/aplaceforallmystuff/mcp-fantastical.git
cd mcp-fantastical
npm install
npm run build

配置

无需API密钥-此服务器使用AppleScript与Fantastic和日历应用程序进行通信。

适用于克劳德桌面

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "fantastical": {
      "command": "npx",
      "args": ["-y", "mcp-fantastical"]
    }
  }
}

克劳德代码

添加 ~/.claude.json:

{
  "mcpServers": {
    "fantastical": {
      "command": "npx",
      "args": ["-y", "mcp-fantastical"]
    }
  }
}

权限

首次运行时,您可能需要授予以下权限:

可访问性(通过URL方案创建活动):

  1. 系统首选项→ 隐私和安全→ 无障碍
  2. 将终端(或您的终端应用程序)添加到允许列表中

完整日历访问权限(用于阅读活动):

本地助手船作为特设签署 .app 捆绑(FantasticalHelper.app).MCP服务器首次读取日历数据时,macOS将显示归因于以下原因的一次性提示 “幻想助手” 请求授予完全日历访问权限。批准它。

如果您错过了提示或需要稍后重新授予:

  1. 系统设置→ 隐私和安全→ 日历
  2. 启用 幻想助手

注意:之前的版本提供了一个原始助手二进制文件,当在Claude Desktop下启动时,macOS无法将TCC权限归因于该二进制文件——提示从未出现,访问被默默拒绝(#6).捆绑+签名的帮助程序解决了这个问题。

使用示例

创建事件

  • “安排明天下午2点与团队会面”
  • “将周五上午10点的牙医预约添加到我的个人日历中”
  • “每周一上午9点创建一个定期站立”
  • “下周二下午休息,做深度工作”

查看日程表

  • “今天我的日历上有什么?”
  • “显示我下周的日程安排”
  • “我明天有什么会议?”
  • “我星期五下午有空吗?”

导航

  • “打开我的日历到下周一”
  • “让我看看12月25日的幻想”
  • “在我的日历中跳转到下周”

搜索

  • “查找与Sarah的所有会议”
  • “搜索牙医预约”
  • “查找项目审查会议”

可用工具

工具 说明
fantastical_create_event 使用自然语言解析创建事件
fantastical_get_today 获取今天的日历活动
fantastical_get_upcoming 获取指定天数内即将发生的事件
fantastical_show_date 在特定日期打开幻想曲
fantastical_get_calendars 列出所有可用日历
fantastical_search 按查询搜索事件

发展

# Watch mode for development
npm run watch

# Build TypeScript
npm run build

# Run locally
node dist/index.js

故障排除

“AppleScript错误:无权发送Apple事件”

授予访问权限:

  1. 打开系统首选项→ 隐私和安全→ 无障碍
  2. 单击锁进行更改
  3. 添加终端(或您的终端应用程序)并启用它

日历权限错误,或Claude Desktop下的“日历访问被拒绝”

macOS TCC权限不通过Claude桌面继承→ npx → node → 辅助链。本机辅助程序被包装在一个特殊的签名中 FantasticalHelper.app 因此macOS有一个稳定的代码标识来赋予日历权限。

解决:

  1. 查找归因于以下原因的一次性系统提示 幻想助手 并批准。如果它出现在另一个窗口后面,请重新启动MCP客户端并重试。
  2. 检查系统设置→ 隐私和安全→ 日历和启用 幻想助手.
  3. 如果从源代码运行,请重建包: npm run build:native.
  4. 如果捆绑包因任何原因缺少代码签名,请重新签名: codesign --force --sign - dist/native/FantasticalHelper.app.

“错误:此MCP服务器仅适用于macOS”

此服务器需要macOS,因为Fantastical是macOS应用程序。它使用AppleScript与Fantastical和日历应用程序通信。

事件未显示

  • 确保Fantastical正在与iCloud/日历同步
  • 检查Calendar.app是否可以访问相同的日历
  • 验证事件是否在正确的日历中创建
  • 授予完整日历访问权限(见上文)

梦幻般的没有打开

  • 确保安装了Fantastical
  • 请先尝试手动打开Fantastical
  • 检查是否在幻想首选项中启用了URL方案

许可证

麻省理工学院-见 许可证 了解详情。

链接