@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.
- package/README.md +26 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# @zyx1121/apple-
|
|
1
|
+
# @zyx1121/apple-contacts-mcp
|
|
2
2
|
|
|
3
|
-
MCP server for Apple
|
|
3
|
+
MCP server for Apple Contacts — create, search, update, and manage contacts via Claude Code.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
claude mcp add apple-
|
|
8
|
+
claude mcp add apple-contacts -- npx @zyx1121/apple-contacts-mcp
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## Prerequisites
|
|
12
12
|
|
|
13
|
-
- macOS with
|
|
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
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
25
|
-
| `
|
|
26
|
-
| `
|
|
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
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
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
|
-
-
|
|
42
|
-
-
|
|
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