Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
iMessage MCP server — 25 tools for searching, analyzing, and exploring your entire iMessage history on macOS imessage-mcp $1 $1 $1 $1 $1 $1 25 tools for exploring your iMessage history on macOS. Read-only access to your Mac's iMessage database — search messages, analyze conversations, explore reactions, read receipts, reply threads, edited messages, effects, streaks, conversation patterns, and more. What is MCP? $1 (MCP) is an open standard that lets AI assistants like Claude connect to external data sources. imessage-mcp g Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
imessage-mcp is best for imessage, mcp, mcp-server workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB MCP, runtime-metrics, public facts pack
iMessage MCP server — 25 tools for searching, analyzing, and exploring your entire iMessage history on macOS imessage-mcp $1 $1 $1 $1 $1 $1 25 tools for exploring your iMessage history on macOS. Read-only access to your Mac's iMessage database — search messages, analyze conversations, explore reactions, read receipts, reply threads, edited messages, effects, streaks, conversation patterns, and more. What is MCP? $1 (MCP) is an open standard that lets AI assistants like Claude connect to external data sources. imessage-mcp g
Public facts
4
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 25, 2026
Vendor
Anipotts
Artifacts
0
Benchmarks
0
Last release
1.1.0
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/anipotts/imessage-mcp.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Anipotts
Protocol compatibility
MCP
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
npx imessage-mcp doctor
json
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": ["-y", "imessage-mcp"]
}
}
}bash
claude mcp add imessage -- npx -y imessage-mcp
json
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": ["-y", "imessage-mcp"]
}
}
}json
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": ["-y", "imessage-mcp"]
}
}
}json
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": ["-y", "imessage-mcp"]
}
}
}Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
iMessage MCP server — 25 tools for searching, analyzing, and exploring your entire iMessage history on macOS imessage-mcp $1 $1 $1 $1 $1 $1 25 tools for exploring your iMessage history on macOS. Read-only access to your Mac's iMessage database — search messages, analyze conversations, explore reactions, read receipts, reply threads, edited messages, effects, streaks, conversation patterns, and more. What is MCP? $1 (MCP) is an open standard that lets AI assistants like Claude connect to external data sources. imessage-mcp g
25 tools for exploring your iMessage history on macOS.
Read-only access to your Mac's iMessage database — search messages, analyze conversations, explore reactions, read receipts, reply threads, edited messages, effects, streaks, conversation patterns, and more.
Model Context Protocol (MCP) is an open standard that lets AI assistants like Claude connect to external data sources. imessage-mcp gives Claude (or any MCP client) read-only access to your local iMessage database so you can ask questions about your messaging history in natural language.
System Settings → Privacy & Security → Full Disk Access → enable your terminal app (Terminal, iTerm2, Warp, etc.)
npx imessage-mcp doctor
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": ["-y", "imessage-mcp"]
}
}
}
claude mcp add imessage -- npx -y imessage-mcp
Or add to .mcp.json in your project root:
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": ["-y", "imessage-mcp"]
}
}
}
~/.cursor/mcp.json:
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": ["-y", "imessage-mcp"]
}
}
}
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": ["-y", "imessage-mcp"]
}
}
}
.vscode/mcp.json in your project root:
{
"servers": {
"imessage": {
"command": "npx",
"args": ["-y", "imessage-mcp"]
}
}
}
Add via Cline MCP settings UI, or cline_mcp_settings.json:
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": ["-y", "imessage-mcp"]
}
}
}
Settings → Tools → AI Assistant → MCP Servers → Add:
imessagenpx-y imessage-mcp~/.config/zed/settings.json:
{
"context_servers": {
"imessage": {
"command": {
"path": "npx",
"args": ["-y", "imessage-mcp"]
}
}
}
}
| Tool | Category | What it does |
|------|----------|--------------|
| search_messages | Messages | Full-text search with filters (query, contact, date, direction, group, attachments) |
| get_conversation | Messages | Conversation thread with cursor-based pagination |
| list_contacts | Contacts | All contacts with message counts and date ranges |
| get_contact | Contacts | Deep contact info: stats, yearly breakdown |
| resolve_contact | Contacts | Fuzzy-match name/phone/email to contact |
| message_stats | Analytics | Aggregate stats with time-series grouping |
| contact_stats | Analytics | Per-contact volumes, trends, hourly patterns |
| temporal_heatmap | Analytics | 7×24 activity heatmap (day-of-week × hour) |
| on_this_day | Memories | Messages from this date in past years |
| first_last_message | Memories | First and last message ever exchanged with a contact |
| who_initiates | Patterns | Who starts conversations? Initiation ratio per contact |
| streaks | Patterns | Consecutive-day messaging streaks |
| double_texts | Patterns | Detect double-texting and unanswered message patterns |
| conversation_gaps | Patterns | Find the longest silences in a conversation |
| forgotten_contacts | Patterns | Contacts you've lost touch with |
| yearly_wrapped | Wrapped | Spotify Wrapped for iMessage — full year summary |
| list_group_chats | Groups | Group chats with member counts and activity |
| get_group_chat | Groups | Per-member stats, monthly activity timeline |
| list_attachments | Attachments | Query by contact, MIME type, date range |
| get_reactions | Reactions | Tapback distribution, top reactors, most-reacted messages |
| get_read_receipts | Receipts | Read/delivery latency, unread patterns |
| get_thread | Threads | Reconstruct reply thread trees |
| get_edited_messages | Edits | Edited and unsent messages with timing |
| get_message_effects | Effects | Slam, loud, confetti, fireworks analytics |
| help | System | Full tool guide and examples |
Once connected, try asking Claude things like:
imessage-mcpStart the MCP server (stdio transport). This is what Claude Desktop calls automatically.
imessage-mcp doctorRun setup diagnostics. Checks macOS, Node version, chat.db access, Full Disk Access, AddressBook, and message count.
$ npx imessage-mcp doctor
imessage-mcp doctor
✓ macOS: Running on macOS (darwin)
✓ Node.js: Node v22.0.0 (>= 18 required)
✓ chat.db: Found at /Users/you/Library/Messages/chat.db
✓ Full Disk Access: Database readable
✓ Messages: 97,432 messages indexed
✓ AddressBook: 342 contacts resolved
All checks passed — ready to use!
Pass --json for machine-readable output:
npx imessage-mcp doctor --json
imessage-mcp dumpExport messages to JSON. Pipe to a file or process with jq.
# Export last 1000 messages
npx imessage-mcp dump > messages.json
# Filter by contact
npx imessage-mcp dump --contact "+15551234567"
# Date range with custom limit
npx imessage-mcp dump --from 2024-01-01 --to 2024-12-31 --limit 5000
# Export contacts (excluding spam/promo contacts by default)
npx imessage-mcp dump --contacts > contacts.json
# Include ALL contacts (including ones you never replied to)
npx imessage-mcp dump --contacts --all > all-contacts.json
# Export all messages (including from unfiltered contacts)
npx imessage-mcp dump --all > all-messages.json
imessage-mcp reads your local iMessage database in read-only mode. No data leaves your machine — all queries run locally against ~/Library/Messages/chat.db. Nothing is written, modified, uploaded, or shared. Contact names are resolved from your macOS AddressBook locally. No external APIs are called.
macOS protects ~/Library/Messages/chat.db — your terminal needs Full Disk Access to read it. This is an Apple requirement, not something imessage-mcp chooses. The tool only reads two locations:
~/Library/Messages/chat.db — your iMessage database (read-only)~/Library/Application Support/AddressBook/ — contact names (read-only)No other files are accessed. You can verify by searching the source: grep -rn "readFileSync\|openDatabase\|sqlite" src/
chat.db → [imessage-mcp] → stdio → [Your MCP Client] → AI Provider
↑ ↑
Your Mac only Already authorized by you
imessage-mcp makes zero network requests. Your data only leaves your machine through your MCP client (Claude Desktop, Cursor, etc.), which you've already authorized separately.
Grant Full Disk Access to your terminal: System Settings → Privacy & Security → Full Disk Access → enable your terminal app. Then restart your terminal.
Make sure Messages.app has been used on this Mac and has synced your messages. Run npx imessage-mcp doctor to verify.
Contact resolution uses your macOS AddressBook. If contacts aren't synced to your Mac (e.g. only on your phone), names won't resolve. Sync contacts via iCloud or add them in the Contacts app.
If you see MODULE_NOT_FOUND or NODE_MODULE_VERSION errors, your MCP client's bundled Node.js version differs from the one that compiled better-sqlite3's native module.
Fix by pointing to your system Node directly:
which node (usually /opt/homebrew/bin/node or /usr/local/bin/node)npm root -g or dirname $(which imessage-mcp)"command": "npx" with your system Node:{
"mcpServers": {
"imessage": {
"command": "/opt/homebrew/bin/node",
"args": ["/path/to/node_modules/imessage-mcp/bin/imessage-mcp.js"]
}
}
}
~/Library/Application Support/Claude/claude_desktop_config.jsonnpx imessage-mcp doctor to verify the server worksimessage entry from your MCP client confignpm cache clean --forceReads ~/Library/Messages/chat.db using better-sqlite3 in read-only mode with query_only = ON. Contact names are resolved from your macOS AddressBook automatically — no configuration needed.
On macOS 14 (Sonoma) and later, Apple changed how message text is stored. Some messages have NULL in the text column but contain the actual text in the attributedBody binary blob. imessage-mcp extracts text from this blob automatically — no messages left behind.
All 25 tools are annotated with readOnlyHint: true so MCP clients can auto-approve them without prompting.
By default, listing and global search tools only include contacts you've actually replied to — filtering out spam, promo texts, and unknown senders. This affects: search_messages (global), list_contacts, message_stats (global), temporal_heatmap (global), who_initiates (global), streaks (global), on_this_day (global), forgotten_contacts, and yearly_wrapped.
Contact-specific tools like get_conversation, get_contact, contact_stats, and first_last_message are not filtered — they always return results for any contact you specify.
To include all contacts (including unrecognized senders), pass include_all: true to any filtered tool.
| Env var | Default | Description |
|---------|---------|-------------|
| IMESSAGE_DB | ~/Library/Messages/chat.db | Path to iMessage database |
MIT
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T05:19:57.585Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "imessage",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "mcp-server",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "model-context-protocol",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "modelcontextprotocol",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "macos",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "messages",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "claude",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "ai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "llm",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "apple",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "sms",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "chat-history",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "analytics",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile capability:imessage|supported|profile capability:mcp|supported|profile capability:mcp-server|supported|profile capability:model-context-protocol|supported|profile capability:modelcontextprotocol|supported|profile capability:macos|supported|profile capability:messages|supported|profile capability:claude|supported|profile capability:ai|supported|profile capability:llm|supported|profile capability:apple|supported|profile capability:sms|supported|profile capability:chat-history|supported|profile capability:analytics|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Anipotts",
"href": "https://github.com/anipotts/imessage-mcp",
"sourceUrl": "https://github.com/anipotts/imessage-mcp",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T02:31:24.752Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T02:31:24.752Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-anipotts-imessage-mcp/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to imessage-mcp and adjacent AI workflows.