Skip to main content
Glama

MCP Fantastical 服务器

npm version CI License: MIT MCP

用于 Fantastical(macOS 上强大的日历应用)的 MCP 服务器。

为什么要使用它?

  • 自然语言创建事件 - 使用 Fantastical 强大的自然语言解析功能(例如:“明天下午 3 点与 John 开会”)

  • 查看日程 - 无需离开对话即可查看今日事件或即将到来的预约

  • 快速访问日历 - 立即跳转到 Fantastical 中的任何日期

  • 具备日历感知能力的 AI - 让 Claude 了解您的空闲时间和日程背景

  • 零配置 - 可与您现有的 Fantastical 和日历设置配合使用

Related MCP server: Apple Calendar MCP Server

功能

类别

功能

创建事件

使用自然语言创建事件、指定日历、添加备注

查看日程

查看今日事件、查看未来任意天数的即将到来的事件

导航

在 Fantastical 中打开特定日期

搜索

按标题、地点或备注搜索事件

日历管理

列出所有可用日历

前置要求

  • macOS(Fantastical 仅限 macOS)

  • Node.js 18+

  • 已安装 Fantastical

  • 终端/Claude 的日历访问权限

安装

使用 npm(推荐)

npx mcp-fantastical

从源码安装

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

配置

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

针对 Claude Desktop

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

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

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

针对 Claude Code

添加到 ~/.claude.json:

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

权限

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

辅助功能(用于通过 URL scheme 创建事件):

  1. 系统设置 → 隐私与安全性 → 辅助功能

  2. 将终端(或您使用的终端应用)添加到允许列表中

完全日历访问权限(用于读取事件):

原生辅助程序以临时签名的 .app 包 (FantasticalHelper.app) 形式提供。MCP 服务器首次读取日历数据时,macOS 会显示一个归属于 "FantasticalHelper" 的一次性提示,要求授予完全日历访问权限。请批准它。

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

  1. 系统设置 → 隐私与安全性 → 日历

  2. 启用 FantasticalHelper

注意:旧版本提供的是原始辅助二进制文件,在 Claude Desktop 下运行时 macOS 无法为其分配 TCC 权限,导致提示从未出现且访问被静默拒绝 (#6)。打包并签名的辅助程序修复了此问题。

使用示例

创建事件

  • "明天下午 2 点安排一个团队会议"

  • "在周五上午 10 点添加一个牙医预约到我的个人日历"

  • "创建一个每周一上午 9 点的重复性站会"

  • "把下周二下午的时间空出来用于深度工作"

查看日程

  • "我今天的日历上有什么?"

  • "显示我接下来一周的日程"

  • "我明天有哪些会议?"

  • "我周五下午有空吗?"

导航

  • "打开我的日历到下周一"

  • "在 Fantastical 中显示 12 月 25 日"

  • "跳转到我日历的下周"

搜索

  • "查找所有与 Sarah 的会议"

  • "搜索牙医预约"

  • "查找项目评审会议"

可用工具

工具

描述

fantastical_create_event

使用自然语言解析创建事件

fantastical_get_today

获取今日日历事件

fantastical_get_upcoming

获取指定天数内即将到来的事件

fantastical_show_date

在 Fantastical 中打开特定日期

fantastical_get_calendars

列出所有可用日历

fantastical_search

按查询搜索事件

开发

# Watch mode for development
npm run watch

# Build TypeScript
npm run build

# Run locally
node dist/index.js

故障排除

"AppleScript error: Not authorized to send Apple events"

授予辅助功能权限:

  1. 打开系统设置 → 隐私与安全性 → 辅助功能

  2. 点击锁图标进行更改

  3. 添加终端(或您使用的终端应用)并启用它

在 Claude Desktop 下出现日历权限错误或 "Calendar access denied"

macOS TCC 权限不会通过 Claude Desktop → npx → node → helper 链继承。原生辅助程序被封装在临时签名的 FantasticalHelper.app 包中,以便 macOS 有一个稳定的代码标识来分配日历权限。

解决方案:

  1. 寻找归属于 FantasticalHelper 的一次性系统提示并批准它。如果它出现在其他窗口后面,请重启您的 MCP 客户端并重试。

  2. 检查系统设置 → 隐私与安全性 → 日历并启用 FantasticalHelper。

  3. 如果从源码运行,请重新构建包:npm run build:native。

  4. 如果包因任何原因缺少代码签名,请重新签名:codesign --force --sign - dist/native/FantasticalHelper.app。

"Error: This MCP server only works on macOS"

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

事件未显示

  • 确保 Fantastical 正在与 iCloud/日历同步

  • 检查 Calendar.app 是否有权访问相同的日历

  • 验证事件是否在正确的日历中创建

  • 授予完全日历访问权限(见上文)

Fantastical 未打开

  • 确保已安装 Fantastical

  • 尝试先手动打开 Fantastical

  • 检查 Fantastical 首选项中是否启用了 URL schemes

许可证

MIT - 详情请参阅 LICENSE。

链接

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Transforms macOS calendar management into a conversational experience using natural language, allowing users to create, manage, and update calendar events seamlessly through an MCP-compatible client.
    331
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides Claude with full access to Apple Calendar on macOS for event management, smart scheduling, and schedule analytics. It enables natural language event creation, conflict detection, and template-based scheduling through AppleScript integration.
    20 npm
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to read and create Fantastical calendar events on macOS using local database access and URL schemes, working entirely offline without API keys or network access.
    16
    7
    MIT