@kembec/ical-mcp-win32-x64 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +77 -0
- package/bin/ical-mcp.exe +0 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# ical-mcp
|
|
2
|
+
|
|
3
|
+
A Model Context Protocol server for iCloud Calendar, written in Rust.
|
|
4
|
+
|
|
5
|
+
It talks CalDAV directly to `caldav.icloud.com`, exposes five tools over
|
|
6
|
+
JSON-RPC on stdio, and ships as a single static binary — no JVM, no Python
|
|
7
|
+
runtime, no daemons.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
- An Apple ID
|
|
12
|
+
- An [app-specific password](https://appleid.apple.com/account/manage) for
|
|
13
|
+
that Apple ID (regular Apple ID passwords will not work with CalDAV)
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install -g @kembec/ical-mcp
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Or run with `npx`:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npx @kembec/ical-mcp
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Configuration
|
|
28
|
+
|
|
29
|
+
Set two environment variables before launching the server:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
export ICLOUD_USERNAME="you@icloud.com"
|
|
33
|
+
export ICLOUD_PASSWORD="xxxx-xxxx-xxxx-xxxx" # app-specific password
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Wire it into your MCP client (e.g. Claude Desktop) by adding an entry like:
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"mcpServers": {
|
|
41
|
+
"ical": {
|
|
42
|
+
"command": "npx",
|
|
43
|
+
"args": ["-y", "@kembec/ical-mcp"],
|
|
44
|
+
"env": {
|
|
45
|
+
"ICLOUD_USERNAME": "you@icloud.com",
|
|
46
|
+
"ICLOUD_PASSWORD": "xxxx-xxxx-xxxx-xxxx"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Tools
|
|
54
|
+
|
|
55
|
+
- **list-calendars** — list every calendar in the account.
|
|
56
|
+
- **get-events** — `calendar_id`, `start_date`, `end_date` (YYYY-MM-DD).
|
|
57
|
+
- **create-event** — `calendar_id`, `title`, then either `start_time`/`end_time`
|
|
58
|
+
(ISO 8601) for timed events or `start_date`/`end_date` with `all_day: true`
|
|
59
|
+
for all-day events. Optional: `description`, `location`, `timezone`.
|
|
60
|
+
- **update-event** — `event_id` (UID or full URL) plus any of `title`,
|
|
61
|
+
`start_time`, `end_time`, `description`, `location`.
|
|
62
|
+
- **delete-event** — `event_id` (UID or full URL).
|
|
63
|
+
|
|
64
|
+
`calendar_id` accepts either the calendar's display name or its full CalDAV
|
|
65
|
+
URL. `event_id` accepts the iCalendar UID or the resource URL returned by
|
|
66
|
+
`create-event`.
|
|
67
|
+
|
|
68
|
+
## Building from source
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
cargo build --release
|
|
72
|
+
./target/release/ical-mcp
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## License
|
|
76
|
+
|
|
77
|
+
Apache-2.0
|
package/bin/ical-mcp.exe
CHANGED
|
Binary file
|