A Model Context Protocol server for read-only access to macOS iMessage and Contacts data.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Imessage MCP.
search_messagesSearch messages with filters
get_recent_messagesGet the most recent messages
get_chatsList all conversations
get_handlesGet all contacts/handles
get_messages_from_chatGet messages from a specific chat
search_contactsSearch macOS Contacts by name and get phone numbers
A Deno monorepo containing packages for iMessage access on macOS:
~/Library/Messages/chat.db, or to a custom database configured with IMESSAGE_DB_PATH~/Library/Application Support/AddressBook/ (for contacts search)Core library for accessing iMessage data:
MCP server for LLM integration:
For Claude Desktop app integration, add this to your claude_desktop_config.json:
Set IMESSAGE_DB_PATH to open a read-only SQLite database at another location, such as a periodically refreshed snapshot of chat.db:
The process needs read access to the custom file. If Deno does not have permission to read IMESSAGE_DB_PATH, or the variable is empty or unset, the library uses ~/Library/Messages/chat.db without prompting for environment access.
search_messages - Search messages with filters
query (optional): Text to search forhandle (optional): Phone number or email to filter bystartDate (optional): ISO datetime string for start dateendDate (optional): ISO datetime string for end datelimit (optional): Maximum results (1-200, default: 100)offset (optional): Pagination offset (default: 0)get_recent_messages - Get the most recent messages
limit (optional): Number of messages (1-100, default: 20)offset (optional): Pagination offset (default: 0)get_chats - List all conversations
limit (optional): Number of chats (1-200, default: 50)offset (optional): Pagination offset (default: 0)get_handles - Get all contacts/handles
limit (optional): Number of handles (1-200, default: 100)offset (optional): Pagination offset (default: 0)get_messages_from_chat - Get messages from a specific chat
chatGuid (required): The chat GUIDlimit (optional): Number of messages (1-200, default: 50)offset (optional): Pagination offset (default: 0)search_contacts - Search macOS Contacts by name and get phone numbers
firstName (required): First name to search for (e.g., 'John')lastName (optional): Last name to search for (e.g., 'Smith'). If omitted, searches across all name fieldslimit (optional): Maximum results (1-200, default: 50)offset (optional): Pagination offset (default: 0)All tools now support pagination using limit and offset parameters and return pagination metadata:
All paginated tools now return responses in this format:
This metadata helps you:
hasMore)This is a Deno workspace monorepo. All commands run from the root affect all packages.
MIT
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/wyattjoh-imessage-mcp)<a href="https://allmcps.com/mcp/wyattjoh-imessage-mcp"><img src="https://allmcps.com/api/badge/wyattjoh-imessage-mcp?style=directory" alt="Imessage MCP on AllMCPs" /></a>