macOS CLI and MCP server for Apple Contacts
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"contactbook": {
"args": [
"mcp",
"serve"
],
"command": "/usr/local/bin/contactbook"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Contactbook brings Apple Contacts automation to macOS through a Swift CLI and MCP server. List, search, create, update, and delete contacts — from the terminal or any MCP client.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in productivity
Dynamic problem-solving through sequential thought chains
Persistent memory using a knowledge graph
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
Official Notion MCP Server
MCP Security Weekly
Get CVE alerts and security updates for Contactbook and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Contactbook brings Apple Contacts automation to macOS through a Swift CLI and MCP server. List, search, create, update, and delete contacts — from the terminal or any MCP client.
| Feature | Description |
|---|---|
| List Contacts | Browse all contacts with optional limit |
| Search Contacts | Find by name, email, phone, or organization |
| Get Contact | Retrieve full contact details by ID |
| Create Contact | Add new contacts with all fields |
| Update Contact | Modify existing contact properties |
| Delete Contact | Remove contacts (with confirmation) |
| Groups | List groups and group members |
| Lookup | Quick lookup by name or identifier |
| MCP Server | All features exposed as MCP tools for AI agents |
# Clone and build
git clone https://github.com/RyanLisse/Contactbook.git
cd Contactbook
swift build -c release
# Install to PATH
cp .build/release/contactbook /usr/local/bin/contactbook
# List contacts
contactbook contacts list --limit 10
# Search contacts
contactbook contacts search "John"
# Get contact by ID
contactbook contacts get <contact-id> --json
# Create a contact
contactbook contacts create \
--firstName "John" \
--lastName "Doe" \
--email "john@example.com" \
--phone "+1234567890"
# Update a contact
contactbook contacts update <contact-id> --jobTitle "Engineer"
# Delete a contact
contactbook contacts delete <contact-id> --force
# List groups
contactbook groups list
# Quick lookup
contactbook lookup "John Doe"
| Command | Key flags | What it does |
|---|---|---|
contacts list | --limit, --json | List all contacts |
contacts search | <query>, --json | Search contacts |
contacts get | <id>, --json | Get contact by ID |
contacts create | --firstName, --lastName, etc. | Create new contact |
contacts update | <id>, field options | Update contact |
contacts delete | <id>, --force | Delete contact |
groups list | --json | List all groups |
groups members | <group-id> | List group members |
lookup | <query> | Quick name/ID lookup |
mcp serve | - | Start MCP server |
Start the MCP server for AI agent integration:
contactbook mcp serve
| Tool | Description |
|---|---|
contacts_list | List all contacts |
contacts_search | Search contacts by query |
contacts_get | Get contact by ID |
contacts_create | Create new contact |
contacts_update | Update existing contact |
contacts_delete | Delete contact |
groups_list | List all groups |
groups_members | Get group members |
{
"mcpServers": {
"contactbook": {
"command": "/usr/local/bin/contactbook",
"args": ["mcp", "serve"]
}
}
}
Follows the Peekaboo architecture standard:
Sources/
├── Core/ # ContactbookCore - framework-agnostic library
│ ├── Models/ # Contact, ContactGroup models
│ ├── Services/ # ContactsService (Contacts framework wrapper)
│ └── Errors/ # ContactsError
├── CLI/ # ContactbookCLI - ArgumentParser commands
│ └── Commands/ # Contacts, Groups, Lookup, MCP commands
├── MCP/ # ContactbookMCP - MCP server with handler pattern
│ └─
... [View full README on GitHub](https://github.com/RyanLisse/Contactbook#readme)