@zyx1121/apple-contacts-mcp 0.2.0 → 0.2.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.
Files changed (2) hide show
  1. package/README.md +26 -18
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,16 +1,16 @@
1
- # @zyx1121/apple-mail-mcp
1
+ # @zyx1121/apple-contacts-mcp
2
2
 
3
- MCP server for Apple Mailread, search, and manage emails via Claude Code.
3
+ MCP server for Apple Contactscreate, search, update, and manage contacts via Claude Code.
4
4
 
5
5
  ## Install
6
6
 
7
7
  ```bash
8
- claude mcp add apple-mail -- npx @zyx1121/apple-mail-mcp
8
+ claude mcp add apple-contacts -- npx @zyx1121/apple-contacts-mcp
9
9
  ```
10
10
 
11
11
  ## Prerequisites
12
12
 
13
- - macOS with Apple Mail configured
13
+ - macOS with Contacts.app configured
14
14
  - Node.js >= 18
15
15
  - First run will prompt for Automation permission (System Settings > Privacy & Security > Automation)
16
16
 
@@ -18,29 +18,37 @@ claude mcp add apple-mail -- npx @zyx1121/apple-mail-mcp
18
18
 
19
19
  | Tool | Description |
20
20
  |------|-------------|
21
- | `mail_get_accounts` | List all accounts and their mailboxes |
22
- | `mail_count_unread` | Count unread messages per account/mailbox |
23
- | `mail_list_messages` | List messages with filters (account, mailbox, date range, unread) |
24
- | `mail_read_message` | Read full content of a message by ID |
25
- | `mail_search` | Search by subject, sender, or both |
26
- | `mail_mark_read` | Mark a message as read |
21
+ | `contacts_list` | List all contacts |
22
+ | `contacts_search` | Search contacts by name, phone, or email |
23
+ | `contacts_get` | Get full details of a contact by ID |
24
+ | `contacts_create` | Create a new contact |
25
+ | `contacts_update` | Update a contact (name, company, phones, emails, addresses) |
26
+ | `contacts_delete` | Delete a contact |
27
+
28
+ ### Update fields
29
+
30
+ `contacts_update` supports the following array fields — when provided, all existing entries of that type are replaced:
31
+
32
+ - **phones**: `[{ "label": "mobile", "value": "0912345678" }]`
33
+ - **emails**: `[{ "label": "work", "value": "user@example.com" }]`
34
+ - **addresses**: `[{ "label": "home", "street": "...", "city": "...", "state": "...", "zip": "...", "country": "..." }]`
27
35
 
28
36
  ## Examples
29
37
 
30
38
  ```
31
- "List my mail accounts" mail_get_accounts
32
- "Show unread count" mail_count_unread
33
- "Yesterday's emails" → mail_list_messages { date_from: "2026-03-26" }
34
- "Search for GitHub emails" mail_search { query: "GitHub" }
35
- "Read message 12345" → mail_read_message { message_id: 12345 }
39
+ "List all contacts" contacts_list
40
+ "Find John" contacts_search { query: "John" }
41
+ "Get contact details" → contacts_get { id: "ABC-123" }
42
+ "Create a contact" contacts_create { first_name: "John", last_name: "Doe" }
43
+ "Update phone number" → contacts_update { id: "ABC-123", phones: [{ "label": "mobile", "value": "0912345678" }] }
44
+ "Delete contact" → contacts_delete { id: "ABC-123" }
36
45
  ```
37
46
 
38
47
  ## Limitations
39
48
 
40
49
  - macOS only (uses AppleScript via `osascript`)
41
- - Subject search is case-sensitive (AppleScript limitation)
42
- - Sender/body search fetches recent messages and filters in JS (last 30 days, max 500)
43
- - Mail.app must be running
50
+ - Contacts.app must be running
51
+ - Contact IDs may change after iCloud sync
44
52
 
45
53
  ## License
46
54
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zyx1121/apple-contacts-mcp",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "MCP server for Apple Contacts — search, read, create, and manage contacts via Claude Code",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",