Skip to main content
Glama
0xdeadd
by 0xdeadd

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IMESSAGE_SENDNoSet to '1' to enable the send(chat, text) tool. By default sending is disabled and the tool returns a message saying sending is disabled.0

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_chatsA

List recent iMessage/SMS chats, optionally filtered by a case insensitive substring match against the chat name, contact names, or chat identifier. Returns one line per chat with ROWID, name, last message time, and message count.

read_threadA

Read messages from one chat, in date order.

chat accepts a chat ROWID, a chat guid/chat_identifier, or a case insensitive substring of a contact/display name. If the name is ambiguous, this returns a list of candidate chats instead of messages. since is an optional "YYYY-MM-DD" or "YYYY-MM-DD HH:MM" local time filter. limit caps how many of the most recent matching messages come back (still returned oldest first).

searchA

Search decoded message bodies for a substring (case insensitive).

Optionally restrict to one chat (same matching rules as read_thread) and to messages on or after since ("YYYY-MM-DD" or "YYYY-MM-DD HH:MM").

whats_newA

Return every message across all chats since the last time this tool advanced its cursor, grouped by chat, oldest first within each chat.

On the very first call (no cursor yet) it returns the last 24 hours. The cursor lives at ~/.imessage-mcp/cursor.json. When mark_seen is true (the default), the cursor advances to the newest message ROWID seen so the next call only returns messages after this one.

sendA

Send a message through Messages.app.

Disabled by default. Set the environment variable IMESSAGE_SEND=1 on this server process to enable it. chat accepts the same matching rules as read_thread. Always show the exact text to the user and get a yes before calling this.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct action: listing chats, reading a thread, searching messages, incremental polling, and sending. Even though read_thread and search both return messages, their purposes are clearly separated and easy to tell apart.

Naming Consistency4/5

list_chats and read_thread follow a verb_noun pattern, while search and send are bare verbs and whats_new is a phrase. All names use lower_snake_case and are readable, but the naming is not fully uniform.

Tool Count5/5

Five tools is a well-scoped set for an iMessage bridge. It covers the main interactions without unnecessary redundancy or surface-area bloat.

Completeness5/5

The tool set covers the core messaging workflow: enumerate chats, read conversations, search content, poll for new messages, and send replies. There are no obvious dead ends or missing operations for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues