Skip to main content
Glama

mac-messages-mcp

MIT License
120
  • Apple

Mac Messages MCP

A Python bridge for interacting with the macOS Messages app using MCP (Multiple Context Protocol).

a-diagram-of-a-mac-computer-with-the-tex_FvvnmbaBTFeKy6F2GMlLqA_IfCBMgJARcia1WTH7FaqwA

Features

  • Read recent messages from the macOS Messages app
  • Filter messages by contact
  • Send new messages through iMessage
  • Access messages via an API

Prerequisites

  • macOS (tested on macOS 11+)
  • Python 3.10+
  • uv package manager

Installing uv

If you're on Mac, install uv using Homebrew:

brew install uv

Otherwise, follow the installation instructions on the uv website.

⚠️ Do not proceed before installing uv

Installation

Full Disk Access Permission

⚠️ This application requires Full Disk Access permission for your terminal or application to access the Messages database.

To grant Full Disk Access:

  1. Open System Preferences/Settings > Security & Privacy/Privacy > Full Disk Access
  2. Click the lock icon to make changes
  3. Add your terminal app (Terminal, iTerm2, etc.) or Claude Desktop/Cursor to the list
  4. Restart your terminal or application after granting permission

Integration

Claude Desktop Integration

  1. Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json
  2. Add the following configuration:
{ "mcpServers": { "messages": { "command": "uvx", "args": [ "mac-messages-mcp" ] } } }

Cursor Integration

Go to Cursor Settings > MCP and paste this as a command:

uvx mac-messages-mcp

⚠️ Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both

Option 1: Install from PyPI

uv pip install mac-messages-mcp

Option 2: Install from source

# Clone the repository git clone https://github.com/carterlasalle/mac_messages_mcp.git cd mac_messages_mcp # Install dependencies uv install -e .

Usage

As a Module

from mac_messages_mcp import get_recent_messages, send_message # Get recent messages messages = get_recent_messages(hours=48) print(messages) # Send a message result = send_message(recipient="+1234567890", message="Hello from Mac Messages MCP!") print(result)

As a Command-Line Tool

# Run the MCP server directly mac-messages-mcp

Development

Versioning

This project uses semantic versioning. See VERSIONING.md for details on how the versioning system works and how to release new versions.

To bump the version:

python scripts/bump_version.py [patch|minor|major]

Security Notes

This application accesses the Messages database directly, which contains personal communications. Please use it responsibly and ensure you have appropriate permissions.

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Star History

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

A Python bridge for interacting with the macOS Messages app using MCP (Multiple Context Protocol). Simple install using uvx mac-messages-mcp

  1. Features
    1. Prerequisites
      1. Installing uv
    2. Installation
      1. Full Disk Access Permission
    3. Integration
      1. Claude Desktop Integration
      2. Cursor Integration
      3. Option 1: Install from PyPI
      4. Option 2: Install from source
    4. Usage
      1. As a Module
      2. As a Command-Line Tool
    5. Development
      1. Versioning
    6. Security Notes
      1. License
        1. Contributing
          1. Star History

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              Enables interaction with Apple apps like Messages, Notes, and Contacts through the MCP protocol to send messages, search, and open app content using natural language.
              Last updated -
              6
              506
              1,999
              TypeScript
              MIT License
              • Apple
            • -
              security
              -
              license
              -
              quality
              An MCP-based messaging system that allows AI systems to interact with various messaging platforms through standardized tools for sending text, images, documents, buttons, and alerts.
              Last updated -
              Python
            • -
              security
              F
              license
              -
              quality
              A Python-based implementation of the Model Context Protocol that enables communication between a model context management server and client through a request-response architecture.
              Last updated -
              Python
              • Linux
              • Apple
            • -
              security
              A
              license
              -
              quality
              A macOS app that provides an MCP server to your Messages, Contacts, and more
              Last updated -
              642
              Apache 2.0
              • Apple

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/carterlasalle/mac_messages_mcp'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server