m

messages

@cardmagic/messages
0 Stars 4 次浏览 cardmagic 更新于 2026-08-23

Fuzzy search and browse Apple Messages/iMessage from CLI or MCP server

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "@cardmagic/messages": {
      "args": [
        "@cardmagic/messages@1.2.0"
      ],
      "command": "npx"
    }
  }
}

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tavily_search 14 个参数 需填 1 项

Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.

必填参数:query

tavily_extract 6 个参数 需填 1 项

Extract content from URLs. Returns raw page content in markdown or text format.

必填参数:urls

tavily_crawl 11 个参数 需填 1 项

Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.

必填参数:url

tavily_map 8 个参数 需填 1 项

Map a website's structure. Returns a list of URLs found starting from the base URL.

必填参数:url

tavily_research 2 个参数 需填 1 项

Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.

必填参数:input

服务介绍

messages

Fuzzy search and browse Apple Messages (iMessage/SMS) from the command line, as a Claude Code plugin, or as an MCP server.

# Features

  • Fuzzy search with typo tolerance across all your messages
  • Browse recent messages, contacts, and conversations
  • Contact resolution - shows names instead of phone numbers
  • Context display - see messages before/after each match
  • Filter by sender or date range
  • Auto-indexing - index automatically rebuilds when new messages are detected
  • Multiple interfaces - CLI, MCP server, or Claude Code plugin

# Requirements

  • macOS (reads from Apple Messages database)
  • Node.js 22+
  • Full Disk Access permission for your terminal (to read ~/Library/Messages/chat.db)

# Installation

# # Homebrew

brew install cardmagic/tap/messages

# # npm

npm install -g @cardmagic/messages

# # Claude Code Plugin (recommended)

Install as a plugin to get skills (auto-invoked) and slash commands:

#  Add the marketplace
claude plugin marketplace add cardmagic/ai-marketplace

#  Install the plugin
claude plugin install messages@cardmagic

This gives you:

  • Skill: Claude automatically searches messages when you ask about texts/iMessages
  • Slash commands: /messages:search, /messages:recent, /messages:from, and more

# # MCP Server

For direct MCP tool access without the plugin:

claude mcp add - -transport stdio messages - - npx -y @cardmagic/messages - -mcp

Or install globally first:

npm install -g @cardmagic/messages
claude mcp add - -transport stdio messages - - messages - -mcp

# # From source

git clone https://github.com/cardmagic/messages.git
cd messages
make install

#  Then add as plugin OR MCP server:
claude plugin marketplace add cardmagic/ai-marketplace
claude plugin install messages@cardmagic
#  OR
claude mcp add - -transport stdio messages - - messages - -mcp

# Granting Full Disk Access

The tool needs to read your Messages database at ~/Library/Messages/chat.db:

  1. Open System Settings > Privacy & Security > Full Disk Access
  2. Click + and add your terminal app (Terminal.app, iTerm, Warp, etc.)
  3. Restart your terminal

# Usage

# # CLI

# # # Browse Commands

#  Show most recent messages (who texted me?)
messages recent

#  List contacts by recent activity
messages contacts - -limit 10

#  List conversations with message counts
messages conversations

#  Show recent messages from someone
messages from "Mom"

#  Show full conversation thread
messages thread "John" - -after 2024-12-01

# # # Search Commands

#  Search for messages (index auto-builds on first search)
messages search "coffee tomorrow"

#  Filter by sender
messages search "dinner" - -from "Mom"

#  Filter by date
messages search "meeting" - -after 2024-01-01

#  Adjust result count and context
messages search "project" - -limit 20 - -context 5

#  Show index statistics
messages stats

#  Force rebuild the index
messages index

# # # Search Options

| Option | Description |
|- -- -- -- -|- -- -- -- -- -- --|
| -f, - -from <sender> | Filter by sender name or phone |
| -a, - -after <date> | Only messages after date (YYYY-MM-DD) |
| -l, - -limit <n> | Max results (default: 10) |
| -c, - -context <n> | Messages before/after (default: 2) |

# # Claude Code Plugin

When installed as a plugin, you get:

Skill (auto-invoked): Claude automatically searches messages when you ask things like:

  • "What did Mom say about dinner?"
  • "Who texted me recently?"
  • "Find messages about the trip"

Slash Commands:

| Command | Description |
|- -- -- -- --|- -- -- -- -- -- --|
| /messages:search <query> | Fuzzy search with optional filters |
| /messages:recent | Show most recent messages |
| /messages:contacts | List contacts by activity |
| /messages:conversations | List conversations with message counts |
| /messages:from "Name" | Messages from a specific person |
| /messages:thread "Name" | Full conversation thread |
| /messages:browse <cmd> | Alias for browse commands |

# # MCP Server

When installed as an MCP server, Claude Code can use these tools:

| Tool | Description |
|- -- -- -|- -- -- -- -- -- --|
| search_messages | Search messages with fuzzy matching |
| recent_messages | Get most recent messages |
| list_contacts | List contacts by activity |
| list_conversations | List conversations with counts |
| get_thread | Get conversation thread with a contact |
| get_message_stats | Get index statistics |

# # # Manual MCP Configuration

For Claude Desktop or VS Code, add to your MCP configuration:

{
  "mcpServers": {
    "messages": {
      "command": "npx",
      "args": ["-y", "@cardmagic/messages", "- -mcp"]
    }
  }
}

# How It Works

  1. Auto-Indexing: On first search (or when new messages are detected), the tool automatically:

    • Reads your Apple Messages SQLite database
    • Builds a SQLite FTS5 full-text search index
    • Creates a MiniSearch fuzzy search index
    • Resolves contact names from your Address Book
  2. Searching: Queries both indexes for best results with typo tolerance

  3. Storage: Index files are stored in ~/.messages/:

    • index.db - SQLite FTS5 database
    • fuzzy.json - MiniSearch index
    • stats.json - Index statistics

# License

MIT

相关 MCP 服务