remind-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_DATA_DIR | No | Base directory used in the default for REMIND_SESSION_FILE. | |
| REMIND_COOKIE | No | Captured `Cookie` request header. Skips the bridge when set with REMIND_CSRF_TOKEN. | |
| REMIND_WS_PORT | No | fetchproxy bridge concentrator port. | 37149 |
| MCP_CONFIRM_MODE | No | What a write does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). `ask-user`: two steps — the first call does nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. `auto`: the same two steps, but the model may use the token after reviewing the preview itself. `refuse`: writes are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt. An unrecognised value is treated as `refuse`. | ask-user |
| REMIND_CSRF_TOKEN | No | Captured `x-csrf-token` value. Skips the bridge when set with REMIND_COOKIE. | |
| MCP_CONFIRM_SECRET | No | Signing key; set it only if tokens must survive a server restart. Default is random per process. | |
| REMIND_SESSION_FILE | No | Where the captured session is cached. Defaults to `$MCP_DATA_DIR`/`$HOME` under `.remind-mcp`. | |
| MCP_CONFIRM_TTL_SECONDS | No | How long a token stays valid. | 600 |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| remind_meA | Get the signed-in Remind account: uuid, name, email, locale, admin/child flags and sign-in count. |
| remind_get_notification_settingsA | Get notification settings: reply/announcement-copy/incoming-call preferences plus every registered delivery device (email, sms, apns) with its enabled state. The |
| remind_set_notification_devicesA | Enable or disable notification delivery devices by id (from remind_get_notification_settings). Nothing is sent until confirmed; the preview shows the exact mutation input. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). |
| remind_list_entitiesA | List everything in the Remind sidebar — classes and chats — as the app itself renders it, with unread counts. This is the entry point: it yields the uuids the other tools take. Optionally filter with a search query, and page with the returned cursor. |
| remind_get_classesA | Get full detail for one or more classes by uuid: name, join code/url, member and message counts, owner count, history and messaging flags, and what this account may edit. |
| remind_list_chatsA | List conversation streams with unread counts, member counts, last-updated time and the per-stream permissions (notably |
| remind_get_messagesA | Read messages in one or more chat streams, newest-last. Items are typed: MessageItem (a real message with sender, body and attachments), SystemMessageItem (joins, stream creation) or GapItem (a paging gap of |
| remind_send_messageA | Send a message to a chat stream or class. Delivers to real people and CANNOT be unsent. Nothing is sent until confirmed; the preview shows the exact payload. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Check |
| remind_graphqlA | Run an arbitrary READ-ONLY GraphQL query against Remind's API. Introspection is enabled, so |
| remind_healthcheckA | Verify the Remind session end-to-end by running the smallest authenticated query. Reports whether the captured browser session still authenticates. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Most tools target a distinct resource+action, and descriptions clarify roles (list_entities as the entry point, get_classes for detail, list_chats for streams). There is mild overlap between remind_list_entities and remind_list_chats (entities already includes chats), and remind_me vs remind_healthcheck both touch the session, but the descriptions resolve these boundaries.
All tools share a consistent remind_ prefix and predominantly follow verb_noun (get_classes, list_chats, send_message, set_notification_devices). Minor deviations like remind_me and remind_healthcheck/remind_graphql (noun-only) are readable and don't break the pattern.
Ten tools is well within the ideal range and each earns its place: identity, settings, entity/class/chat/message reads, a write, and a read-only GraphQL escape hatch. Nothing looks redundant or padded.
Core read and messaging workflows are covered (account, settings, entities, classes, chats, messages, send), and the read-only GraphQL tool provides a discovery fallback for unexposed fields. There are minor gaps around write operations like creating/editing classes or marking messages read, but agents can largely work around them.