imessage-kit-mcp
Enables reading, sending, and managing iMessage conversations on macOS through MCP.
README
iMessage Kit MCP Server
An MCP server for iMessage — read, send, and automate conversations via iMessage Kit.
Features
- Send Messages: Send iMessages to phone numbers or email addresses
- Read Messages: Retrieve message history from conversations
- List Conversations: Get all active iMessage conversations
- Conversation Details: Get detailed information about specific conversations
- Dual Transport: Supports both STDIO (local) and HTTP (production) transports
Tools
imsg_send_message
Sends an iMessage to a recipient.
Inputs:
recipient(string, required): Phone number (e.g., '+1234567890') or email addresstext(string, required): Message text to sendchatId(string, optional): Chat ID if continuing an existing conversation
imsg_read_messages
Reads messages from an iMessage conversation.
Inputs:
chatId(string, optional): Chat/conversation IDrecipient(string, optional): Recipient phone number or emaillimit(number, optional): Maximum number of messages (default: 50)offset(number, optional): Number of messages to skip (default: 0)
imsg_get_conversations
Gets a list of all iMessage conversations.
Inputs:
limit(number, optional): Maximum number of conversations (default: 50)offset(number, optional): Number of conversations to skip (default: 0)
imsg_get_conversation_details
Gets detailed information about a specific conversation.
Inputs:
chatId(string, required): Chat/conversation ID
Installation
Prerequisites
- Bun — required runtime
- macOS (required for iMessage functionality)
Install Dependencies
bun install
Configuration
Usage with Claude Desktop
Add this to your claude_desktop_config.json:
STDIO Transport (Local)
{
"mcpServers": {
"imessage-kit": {
"command": "bun",
"args": ["run", "/path/to/imessage-kit-mcp/src/index.ts"]
}
}
}
HTTP Transport
{
"mcpServers": {
"imessage-kit": {
"command": "bun",
"args": ["run", "/path/to/imessage-kit-mcp/src/index.ts", "--port", "3002"],
"url": "http://localhost:3002/mcp"
}
}
}
Usage with VS Code
Add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).
{
"mcp": {
"inputs": [],
"servers": {
"imessage-kit": {
"command": "bun",
"args": ["run", "/absolute/path/to/imessage-kit-mcp/src/index.ts"]
}
}
}
}
Development
Running the Server
# STDIO transport (default)
bun run src/index.ts
# HTTP transport
bun run src/index.ts --port 3002
Testing with MCP Inspector
bunx @modelcontextprotocol/inspector src/index.ts
Project Structure
imessage-kit-mcp/
├── src/
│ ├── index.ts # Main entry point
│ ├── server.ts # MCP server implementation
│ ├── client.ts # iMessage Kit SDK client wrapper
│ ├── config.ts # Configuration management
│ ├── cli.ts # CLI argument parsing
│ ├── types.ts # TypeScript type definitions
│ ├── tools/
│ │ ├── index.ts # Tool exports
│ │ └── imessage.ts # iMessage tool definitions
│ └── transport/
│ ├── index.ts # Transport exports
│ ├── stdio.ts # STDIO transport
│ └── http.ts # HTTP transport
├── package.json
├── tsconfig.json
└── README.md
Notes
- This server requires macOS to access iMessage functionality
- Requires Bun (uses
bun:sqlitefor native SQLite access) - Uses iMessage Kit for database access
- Make sure you have proper permissions to access Messages on macOS
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.