About iMessage Query MCP Server
iMessage Query MCP Server is an MCP server for macOS that lets LLMs query and analyze conversations in the local iMessage database. It is built with FastMCP and the imessagedb library, and validates phone numbers with phonenumbers.
Key features
- 01get_chat_transcript tool for a given phone number
- 02Date range filtering for messages
- 03Message text, timestamps and attachment information
- 04Phone number validation with phonenumbers
- 05Detection of missing attachment files
Use cases
- 01Letting an LLM summarize past conversations with a contact
- 02Retrieving iMessage history for a chosen time period
- 03Reviewing attachment records within a chat
MCP support
This is an MCP server that exposes the get_chat_transcript tool to MCP clients for reading iMessage message history.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEiMessage Query MCP Server
An MCP server that provides safe access to your iMessage database through Model Context Protocol (MCP). This server is built with the FastMCP framework and the imessagedb library, enabling LLMs to query and analyze iMessage conversations with proper phone number validation and attachment handling.
📋 System Requirements
- macOS (required for iMessage database access)
- Python 3.6+
📦 Dependencies
Install all required dependencies:
# Using pip
pip install -r requirements.txt
Required Packages
- fastmcp: Framework for building Model Context Protocol servers
- imessagedb: Python library for accessing and querying the macOS Messages database
- phonenumbers: Google's phone number handling library for proper number validation and formatting
All dependencies are specified in requirements.txt for easy installation.
📑 Table of Contents
- System Requirements
- Dependencies
- MCP Tools
- Getting Started
- Installation Options
- Safety Features
- Development Documentation
- Environment Variables
🛠️ MCP Tools
The server exposes the following tools to LLMs:
get_chat_transcript
Retrieve message history for a specific phone number with optional date filtering. Includes:
- Message text and timestamps
- Attachment information (if any)
- Proper phone number validation
- Date range filtering
🚀 Getting Started
Clone the repository:
git clone https://github.com/hannesrudolph/imessage-query-fastmcp-mcp-server.git
cd imessage-query-fastmcp-mcp-server
📦 Installation Options
You can install this MCP server in either Claude Desktop or the Cline VSCode plugin. Choose the option that best suits your needs.
Option 1: Install for Claude Desktop
Install using FastMCP:
fastmcp install imessage-query-server.py --name "iMessage Query"
Option 2: Install for Cline VSCode Plugin
To use this server with the Cline VSCode plugin:
- In VSCode, click the server icon (☰) in the Cline plugin sidebar
- Click the "Edit MCP Settings" button (✎)
- Add the following configuration to the settings file:
{
"imessage-query": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"fastmcp",
"run",
"/path/to/repo/imessage-query-server.py"
]
}
}
Replace /path/to/repo with the full path to where you cloned this repository (e.g., /Users/username/Projects/imessage-query-fastmcp-mcp-server)
🔒 Safety Features
- Read-only access to the iMessage database
- Phone number validation using the phonenumbers library
- Safe attachment handling with missing file detection
- Date range validation
- Progress output suppression for clean JSON responses
📚 Development Documentation
The repository includes documentation files for development:
dev_docs/imessagedb-documentation.txt: Contains comprehensive documentation about the iMessage database structure and the imessagedb library's capabilities.
This documentation serves as context when developing features and can be used with LLMs to assist in development.
⚙️ Environment Variables
No environment variables are required as the server automatically locates the iMessage database in the default macOS location.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.